JPA가 엔티티를 추가/업데이트하는 방법과 약간 혼동됩니다.JPA EclipseLink 엔티티 추가/업데이트
public void save (Object e) {
em.merge(e);
em.flush();
}
:
AltContact c = new AltContact("test");
save(c)
System.out.println("ENTITY: " + contains(c));
c.setEnterpriseName("test2");
save(c);
System.out.println("ENTITY: " + contains(c));
저장 방법은 EntityManager의에 병합을 요청하는 내 응용 프로그램의 서버 측에서 간단한 방법입니다 :
ATM, 나는이 코드 조각이 안에은 EntityManager
의 인스턴스입니다.
은 서버 측에서 다시 한번 현재 엔티티가 존재하는지를 엔티티 관리자에게 물어볼 방법입니다.
위의 코드는 내 테이블에 두 개의 행을 만듭니다. 첫 번째 행은 "test"값이고 다른 행은 "test2"값입니다. 이것은 내가 원한 것이 아닙니다.
값 "test"로 새 행을 작성한 다음 행 작성 직후에 갱신하고 값을 "test2"로 설정하려고합니다. 나는 의 반품을 로 전화 한 후을 포함하여, false
두 번 돌려주었습니다.
내가 나의 실체 내가 다시 저장 전화 그래서 저장 에 대한 첫 번째 호출 후 지속적인 환경의 일부가 아닌 사실에서 오는 문제를 추측, 엔티티 관리자는 새로운 기업의 생각과를 만들 새로운 행.
어떻게 업데이트 프로세스를 수행 할 수 있습니까?
나는이 질문에 대한 답변 (http://stackoverflow.com/a/1070629/1256525)으로 비슷한 문제를 해결해야한다고 생각합니다. – semTex