1

我正在尝试保留一个新的 Java 对象,该对象具有自动生成的 Id,但在调用 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 实现中的错误吗?

我们欢迎所有的建议!

4

1 回答 1

2

我可以确认调用 em.refresh(object) 将填充持久对象的 id。

于 2011-01-07T22:27:04.637 回答