使用JPA时,如何有效地找出新对象的自动生成ID?
-
30-09-2019 - |
题
我有一个带有@ID注释的属性。持续对象时,ID将自动生成。这意味着在我坚持对象之前,未定义ID值。坚持下去之后,它具有ID(在数据库中),但是不幸的是,只要我不从DB重新加载它,该字段仍然保持为空。有什么简单的方法可以找出生成的ID吗?还是更好:配置将其写入现场?
提前致谢
解决方案
ID在冲洗后分配。假设 Foo
实体有一个 id
用标准注释的属性 @Id @GeneratedValue
注释,以下代码有效:
Foo foo = new Foo();
//...
em.persist(foo);
em.flush();
assert foo.getId() != null;
不隶属于 StackOverflow