实体关联映射与状态级联管理
1. 实体关联映射基础
在处理实体关联映射时,有时不需要映射关系的另一侧。例如,对于从 Item
到 Bid
的一对多关联,可以忽略它,因为数据库模式中只有一个外键列,并且已经通过 @ManyToOne
进行了映射。当看到外键列和涉及的两个实体类时,通常使用 @ManyToOne
进行映射即可。
通过调用 someBid.getItem()
可以获取每个 Bid
对应的 Item
,JPA 提供商会解析外键并为你加载 Item
,同时管理外键值。若要获取某个 Item
的所有 Bid
,可以使用 EntityManager
执行查询,如使用 JPQL:
select b from Bid b where b.item = :itemParameter
2. 实现双向关联
为 Item
类添加 bids
集合属性,可以实现 Item
和 Bid
实体类之间的一对多关联。映射该集合属性有以下好处:
- 当调用 someItem.getBids()
并遍历集合