1
伊夫加入2-休眠模型子实体对象 第一个表休眠 - 填充在插入
@Entity
@Table(name = "ACTIVITIES")
public class ActivityMO extends ModelBase {
@Column(name = "CA_ID", nullable = false, insertable = true,updatable = true, length = 22, precision = 0)
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "G1")
@SequenceGenerator(name = "G1", sequenceName = "CSM_ACTIVITIES_SEQ")
private Long id;
@OneToMany(fetch = FetchType.LAZY, mappedBy = "activityId", cascade = {CascadeType.ALL})
@Fetch(FetchMode.JOIN)
List<ActivitiesProductsMO> relatedProducts;
...getters/setters
}
另一表是
@Entity
@Table(name = "ACTIVITIES_PRODUCTS")
public class ActivitiesProductsMO {
@Column(name = "CAP_ID")
@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "G1")
@SequenceGenerator(name = "G1", sequenceName = "ACTIVITIES_PRODUCTS_SEQ")
private Long id;
@Column(name = "CAP_ACTIVITY_ID")
private Long activityId;
@Column(name = "CAP_PRODUCT_ID")
private Long productId;
...getters/setters
}
的点是填充为ActivitiesProductsMO.activityId每分贝记录与ActivityMO.id值
iee 如果我创建一个活动记录ID = 555 我会得到activityId为555的另一个activity_product记录
我该如何得到这个工作? 谢谢!
请澄清:如果你插入一个新的ActivityMO,你想改变现有的所有ActivitiesProductsMO以指向ActivityMO (通过它的activityId映射字段),还是你想创建一个新的ActivitiesProductsMO,同时保持所有其他的不变?我想它是第二次......但是接下来我的问题是:为什么会是一个?您使用OneToMany定义实体,这意味着对于每个ActivityMO,都可以有多个链接的ActivityProductsMO。 –
嗨。它不完全是一个,它只是一个例子。如果activityMO带有20个activityProductMOs列表,则需要创建20个新的ACTIVITY_PRODUCT记录,并且所有这些记录都需要具有activityId = activityMO.id –