2 つの @manytomany 注釈付きプロパティを持つエンティティがあります。ここでの問題は、プロパティの 1 つが永続化され、もう 1 つが永続化されないことです。何が問題になる可能性があります。エンティティは次のとおりです。
@Entity("payment")
public class PaymentData implements Serializable
{
private Long pk;
private Collection<PaymentItemData> paymentItem;
/**
* minorPaymentItem
*
*/
private Collection<MinorPayItemData> minorPaymentItem;
@LazyCollection(LazyCollectionOption.FALSE)
@ManyToMany
@JoinTable(name = "payitem_m_assig",
joinColumns =
@JoinColumn(name = "pay_item_id", nullable = false),
inverseJoinColumns =
@JoinColumn(name = "minor_pay_item_id", nullable = false))
public Collection<MinorPayItemData> getMinorPaymentItem()
{
return minorPaymentItem;
}
/**
* @param minorPaymentItem the minorPaymentItem to set
*/
public void setMinorPaymentItem(final Collection<MinorPayItemData> value)
{
this.minorPaymentItem = value;
}
@LazyCollection(LazyCollectionOption.FALSE)
@ManyToMany
@JoinTable(name = "payitem_assigned",
joinColumns =
@JoinColumn(name = "pay_item_id", nullable = false),
inverseJoinColumns =
@JoinColumn(name = "new_pay_item_id", nullable = false))
public Collection<PaymentItemData> getPaymentItem()
{
return paymentItem;
}
/**
* Set the property paymentItem
*
* @param value -paymentItem
*
*/
public void setPaymentItem(final Collection<PaymentItemData> value)
{
this.paymentItem = value;
}
}
@Entity("minor")
public class MinorPayItemData implements Serializable
{
}
@Entity("major")
public class PaymentItemData extends MinorPayItemData
{
}
MinorPayItemData と PaymentItemData は同じデータベースに保存されます。これらは、識別列で区切られています。
paymentItem プロパティのみが保持されます。私は何を間違っていますか。