Как получить идентификатор последней сохраненной сущности, используя JPA

Я ищу умный и легко читаемый способ получить идентификатор персистентной сущности, используяJPA, Идентификатор являетсяInteger.

Можно подумать о следующих решениях:

Без использованияGeneratedValue стратегия. Это требует поиска свободного идентификатора перед сохранением, а затем помещения его в сущность для сохранения: громоздко, но работает.СGeneratedValue стратегия. Постоянный провайдер позаботится о генерации идентификатора. Это выглядит умнее, но как получить идентификатор?

Смотрите решение 2 ниже

MyEntity en = new MyEntity();
en.setName("My name");
em.persist(en);
System.out.println(en.getId());

Это печатает нулевой идентификатор!

Какие-либо предложения? Я использую MySql, EclipseLink, но мне нужно портативное решение.

Ответы на вопрос(1)

Ваш ответ на вопрос