Java 如何在使用JPA时有效地找到新对象的自动生成id?

Java 如何在使用JPA时有效地找到新对象的自动生成id?,java,orm,jpa,persistence,openjpa,Java,Orm,Jpa,Persistence,Openjpa,我有一个用@Id注释的属性。当持久化对象时,Id将自动生成。这意味着在我持久化对象之前没有定义ID值。在持久化它之后,它有一个ID(在数据库中),但不幸的是,只要我不从数据库重新加载它,该字段仍然保持为空。 有什么简单的方法可以找到生成的id吗?或者更好:配置它将写入字段 提前感谢刷新后会分配id。假设Foo实体具有用标准@id@GeneratedValue注释注释的id属性,则以下代码有效: Foo foo = new Foo(); //... em.persist(foo); em.flus

我有一个用@Id注释的属性。当持久化对象时,Id将自动生成。这意味着在我持久化对象之前没有定义ID值。在持久化它之后,它有一个ID(在数据库中),但不幸的是,只要我不从数据库重新加载它,该字段仍然保持为空。 有什么简单的方法可以找到生成的id吗?或者更好:配置它将写入字段


提前感谢

刷新后会分配id。假设
Foo
实体具有用标准
@id@GeneratedValue
注释注释的
id
属性,则以下代码有效:

Foo foo = new Foo();
//...
em.persist(foo);
em.flush();
assert foo.getId() != null;

伟大的这正是我想要的。:-)