我有一个用@Id 注释的属性。 ID 将在持久化对象时自动生成。这意味着在我持久化对象之前没有定义 ID 值。持久化后,它有一个 ID(在数据库中),但不幸的是,只要我不从数据库中重新加载它,该字段仍然为空。 有什么简单的方法可以找出生成的ID?或者更好:将其配置为写入字段?
提前致谢
最佳答案
id 在刷新后分配。假设 Foo
实体有一个用标准 @Id @GeneratedValue
注释注释的 id
属性,下面的代码有效:
Foo foo = new Foo();
//...
em.persist(foo);
em.flush();
assert foo.getId() != null;
关于java - 使用 JPA 时如何高效地找出新对象自动生成的 ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2686863/