2016-09-08 2 views
0

EclipseLink에서 이미 유지 된 엔티티가 있습니다. 업데이트하기 전에 삽입 때문에 제약 조건 위반을 유발하는 일부 변경을 수행합니다.EclipseLink로 삽입하기 전에 강제 업데이트

설명서에 설명 된대로 작업은 삽입, 업데이트/삭제 순서대로 수행됩니다. 먼저 삭제를 수행 할 수있는 방법이 있지만 삽입하기 전에 업데이트를 수행 할 수있는 솔루션을 찾을 수 없습니다. 몇 가지 해결 방법이있어서 삭제/업데이트/삽입과 같은 명령을 다시 정의 할 수 있습니까?

+0

JPA/EclipseLink는 제약 조건에 따라 삽입/업데이트를 주문하므로 동일한 EntityManager를 사용하는 경우 올바르게 정렬되어야합니다. 당신이하고있는 일을 더 자세히 묘사 할 수 있습니까? em.flush() API를 사용하면 항상 명령문을 강제 실행시킬 수 있습니다. – Chris

답변

0

내 경험에 비추어 볼 때 별다른 의미가 없습니다. 주문을 변경하면 여전히 삽입물이 발행되므로 실패합니다.

비즈니스 로직을 확인하고 항상 DB에서 엔티티를 가져와야합니다.

관련 문제