首页 > 解决方案 > hibernate - 为什么我需要在保存实体之前将孩子放入父集合中

问题描述

假设我有这两个实体

@Entity
public class Item {
@Id
protected Long itemId;
protected String title;
protected String description;
protected Date postdate;
...
@OneToMany(mappedBy="item")
protected Set<Bid> bids;
...
}
@Entity
public class Bid {
@Id
protected Long bidId;
protected Double amount;
protected Date timestamp;
...
@ManyToOne
protected Item item;
...
}

我看过很多关于休眠的教程,但我不明白为什么我需要将孩子保存到父集合中,例如:itemObj.addBid(bidObj)。我认为这种关系是由 Bid 管理的,所以我只需要将 Item 引用设置为 Bid 对象,例如:bidObj.setItem(itemObj)。当我不将投标添加到项目集合时,一切正常。保存之前是否需要在两侧设置参考?而且您是否知道有关 Hibernate 如何扫描实体的任何文档,对我来说 Hibernate 如何扫描实体并通过它们的关系将它们连接起来仍然很模糊。谢谢你。

标签: javahibernate

解决方案


推荐阅读