3
나는 정말로 그것을 얻지 못한다.JPA의 내부 동작
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!
어떻게 이것이 가능한가?
어떤 영속 공급자를 사용하고 있습니까? 최대 절전 모드? EclipseLink? –
리턴 된 책이 addBook에 전달 된 동일한 인스턴스인지 점검하십시오. 원격으로 전달할 때 직렬화가 발생했을 수 있습니다. – Chris
@Kevin EclipseLink – Croo