java在Hibernate中检索manytoone关系中的manyside对象的ID
假设我有两个班,家长和孩子。这两者通过单向关系联系在一起
<bag name="children" cascade="all">
<key column="parent_id" />
<one-to-many class="Child" />
</bag>
如果要将子元素添加到父元素,据我所知,需要加载父元素,向其添加子元素,然后保存父元素:
Parent p = dao.getParent();
Child c = new Child();
p.getChildren().add(c);
dao.saveOrUpdate(p);
但是,当试图在支持GUI的数据模型中镜像此更改时,会出现问题。据我所知,无法找到在持久化时分配给c
的主键。这在GUI中造成了一个问题,因为如果我向模型中添加多行,就不可能在以后使用时区分它们
在孩子的主键被持久化后,我可以如何访问它
# 1 楼答案
您可以在刷新会话后访问自动生成的密钥,即在explicit
session.flush()
之后或在事务提交之后