I am looking a smart and easily readable way to get the id of a persisted entity using JPA
. The id is an Integer
.
One could think of the following solutions:
- Without using
GeneratedValue
strategy. This requires looking for a free id before persisting, then putting it into the entity to be persisted: cumbersome, but works. - With a
GeneratedValue
strategy. The persistence provider will take care of the id generation. This looks smarter, but how to get the id?
See below for solution 2
MyEntity en = new MyEntity();
en.setName("My name");
em.persist(en);
System.out.println(en.getId());
This prints a null id!
Any suggestions? I am using MySql, EclipseLink, but need a portable solution.