私はこのエンティティを持っています:
@Entity
@Table(name="AA_CHARGE")
public class Charge2 extends AbstractProduct implements Serializable {
private static final long serialVersionUID = 1L;
private String currency;
private String chargeType;
@OneToMany(mappedBy = "charge")
private Set<Rate2> chargeRates;
...
}
public class Rate2 implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name="RATE_ID")
private String id;
private Date startDate;
private Date endDate;
private BigDecimal rate;
private String templateType;
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name="CHARGE_ID")
private Charge2 charge;
...
}
ChargeRates コレクションの要素のみを持つ指定されたCharge オブジェクト(たとえば、ID A) があり、これはデータベースに保存されます。
この状況の後、別のオブジェクトを読み取り、同じ料金を取得しますが、chargeRates コレクションは equals ではありません。(たとえば、ID B の料金があります)。
休止状態で Charge を更新し、chargeRates に 2 つの要素を配置する必要がありますか? この後、データベースでクエリを実行すると、「同じ識別子の値を持つ別のオブジェクトが既にセッションに関連付けられていました」というエラーが表示されました
請求IDは同じですが、なぜこの状況で休止状態がこのエラーを出すのですか? ありがとう