如果一个人有一个常规的 Foo 实体并调用 persist(foo) ,则 @Id 会自动设置在实体上。但是,如果所述 Foo 实体具有通过绑定到它的 Bars 集合
(...)
@OneToMany(cascade=Cascade.ALL)
Set<Bar> getBars()
(...)
并且这样的实例已经被持久化,如果创建一个新的 Bar 并将其添加到 foo 的 Bars 集合并调用 merge(foo) 刚刚创建的 Bar 将被持久化,但它的 @Id 没有更新!
有没有办法检索这个 id,而无需稍后调用 find(Foo.class, foo.getId())?