Я ищу умный и легко читаемый способ получить идентификатор сохраняемой сущности, используя JPA
. Идентификатор представляет собой Integer
.
Можно подумать о следующих решениях:
GeneratedValue
. Это требует поиска бесплатного идентификатора перед сохранением, а затем помещения его в сохраняемую сущность: громоздко, но работает.GeneratedValue
. Поставщик постоянства позаботится о генерации идентификатора. Это выглядит умнее, но как получить идентификатор?Решение 2 см. ниже.
MyEntity en = new MyEntity();
en.setName("My name");
em.persist(en);
System.out.println(en.getId());
Это печатает нулевой идентификатор!
Есть предложения? Я использую MySql, EclipseLink, но мне нужно портативное решение.