3

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

提前致谢

4

1 回答 1

6

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

Foo foo = new Foo();
//...
em.persist(foo);
em.flush();
assert foo.getId() != null;
于 2010-04-21T22:20:50.973 回答