我有以下情况
1. Have 2 tables
. MstMembership
. MstCustomer
@Entity
@Table(name = "mst_membership")
public class MstMembership implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "_ID")
private Integer id;
@ManyToOne
@JoinTable(name = "map_membership_customer", joinColumns = { @JoinColumn(name = "_ID") }, inverseJoinColumns = { @JoinColumn(name = "LOCAL_CUST_ID") })
private MstCustomer mstCustomer;
@Entity
@Table(name = "mst_customer")
public class MstCustomer implements java.io.Serializable {
private static final long serialVersionUID = 4438539688323028321L;
private Integer localCustId;
private List<MstMembership> mstMemberships;
@Id
@GeneratedValue(strategy = IDENTITY)
@Column(name = "LOCAL_CUST_ID")
public Integer getLocalCustId() {
return localCustId;
}
@ManyToMany(fetch = FetchType.LAZY, mappedBy = "mstCustomer")
public List<MstMembership> getMstMemberships() {
return mstMemberships;
}
现在,如果我使用HQL更新mst_membership表,它将自动调用mst_customer更新SQL。无法找出发生的原因?
对于mst_membership中的更新数据,我创建了一个存储库 例子
mstRepository,然后在mst_membership中设置数据并调用 mstRepository .save(entity)