1
죄송 합니다만이 질문을하는 방법이 명확하지 않습니다. 여기 내 시나리오입니다 :JPA : 삽입 후 업데이트 된 엔티티 개체를 얻는 방법?
컨트롤러
HostSite hostSite=new HostSite();
hostSite.setUrl("www.somesite.com");
// hostSite.getId() is null, naturally
hostSiteService.saveHostSite(hostSite);
// hostSite.getId() is still null
HostSiteServiceImpl
public void saveHostSite(HostSite hostSite) {
hostSiteDAO.save(hostSite);
}
HostSiteDAOImpl
public void save(HostSite hostSite) {
if(hostSite!=null) {
getEntityManager().merge(hostSite);
}
}
보시다시피, 어디서나 엔티티 개체 참조를 수정하지 않습니다. 병합 작업이 테이블 수준에서 초기화 된 데이터로 지속 된 개체를 업데이트한다는 인상이 커졌을 것입니다. 내 경우에는 자동 생성 된 ID뿐입니다. 하지만 생성 타임 스탬프 등과 같은 다른 것들이있을 수 있습니다.이 생성 된 ID를 지속 된 객체에 설정하려면 내가해야 할 일이 있습니까? 작업 자체에는 아무런 문제가 없습니다. 레코드는 생성 된 ID와 함께 테이블에 저장됩니다.
JPA 제공자를 위해 최대 절전 모드 4를 사용하고 있습니다.