私は本当にそれを取得しません。
新しいアイテムを永続化し、それを使用して自動生成されたキーを取得すると、失敗します:
class BookManagerBean {
@PersistentContext
EntityManager em;
@Override
public void addBook(Book book) {
em.persist(book);
}
}
//...somewhere else
@GetThisObjectByJNDI-OrInject
BookManagerRemote bookManager;
Book book = new Book("Writer","Title");
bookManager.addBook(book);
book.getBookid() //<--NULL, didn't get synched, but new data with id in DB is fine
しかし、永続化されたアイテムを返すと、次のように機能します。
class BookManagerBean {
@PersistentContext
EntityManager em;
@Override
public Book addBook(Book book) {
em.persist(book);
return book;
}
}
//...somewhere else
@GetThisObjectByJNDI-OrInject
BookManagerRemote bookManager;
Book book = new Book("Writer","Title");
bookManager.book = addBook(book);
book.getBookid() // <--- Auto-generated id is right here! It's synched!
これはどのように可能ですか?