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