2014-11-10 2 views
0

DAO 레이어의 삭제 옵션에 관한 한 가지 큰 의문! ? 조건이, 그리고 왜 여기서 복수가있을 때 어떤 방법 삭제 대량 낫다 : -JPA를 사용하여 대량 삭제할 때 올바른 방법은 무엇입니까?

한 방법

EntityManager.remove();

2 접근법

EntityManager.createNamedQuery (DeleteQuery);

감사합니다.

+0

및 createQuery ("DELETE FROM ...")는 어떻게됩니까? 즉, 명명 된 것과 같지만 저장된 쿼리 –

+0

또는 createNativeQuery (...)에 대해서는 DELETE를 수행하지만 콜백 및 케스케이드 발생을 원하지 않는 것은 무엇입니까? –

답변

3

NamedQuery.

하나의 검색어로 여러 행을 삭제할 수 있습니다. 바로 거기에서 큰 우승입니다.

EntityManager를 사용하여 개별적으로 삭제해야하는 경우에도 삭제할 실제 엔티티가 있어야합니다. 반면 NamedQuery를 사용하면 키가 필요하기 때문에 엔티티를 처음 읽을 이유는 없습니다.

전반적으로 훨씬 빠릅니다.

+0

NamedQuery를 사용하는 것이 더 나은 방법입니다! 권리 ! 감사 –

관련 문제