3

私は本当にそれを取得しません。

新しいアイテムを永続化し、それを使用して自動生成されたキーを取得すると、失敗します:

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!

これはどのように可能ですか?

4

1 に答える 1