Как эффективно выяснить автоматическую идентификатор для нового объекта при использовании JPA?

StackOverflow https://stackoverflow.com/questions/2686863

Вопрос

У меня есть атрибут, который аннотируется с @ID. Идентификатор будет генерироваться автоматически при сохранении объекта. Это означает, что значение ID не определяется до того, как я сохраню объект. После того, как упонимается, у него есть идентификатор (в базе данных), но, к сожалению, поле все еще остается ненужным, если я не перезагружаю его из БД. Есть ли простой способ узнать сгенерированный идентификатор? Или лучше: настроить, что он будет записан в поле?

заранее спасибо

Это было полезно?

Решение

Идентификатор назначается после промывания. Предполагая Foo Сущность имеет АН id атрибут, аннотированный со стандартом @Id @GeneratedValue Аннотации, следующие работы кода:

Foo foo = new Foo();
//...
em.persist(foo);
em.flush();
assert foo.getId() != null;
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top