我正在尝试持久化一个具有自动生成的Id的新Java对象,但是在调用EntityManager的persist()方法时它没有被填充。我有我的对象类..
...
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
...
我基本上坚持使用......
emf = Persistence.createEntityManagerFactory("transactions-optional");
em = emf.createEntityManager();
em.persist(myObj);
持久化后,不会填充id字段。我试过调用em.flush()但它抱怨它必须在一个事务中。我不需要或不想要交易,但在持久化对象后我确实需要这个ID。
这是GAE实施JPA的错误吗?
任何建议都将不胜感激!
答案 0 :(得分:2)
我可以确认调用em.refresh(object)将填充持久化对象的id。