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