약간 비효율적으로 보이는 필자가 작성한 기능으로 넘어 갔지만 JPA에 대한 지식은 최대 절전 모드가 아닌 휴대용 솔루션을 찾는 것이 좋지 않습니다.Portable JPA Batch/Bulk Insert
간단히 말해 Dao 메소드는 루프 내에서 새 엔티티 각각을 삽입하기 위해 호출되며 "entityManager.merge (object);"를 수행합니다.
JPA 스펙에서 엔티티 목록을 Dao 메소드에 전달하고 모든 단일 오브젝트에 대해 merge를 호출하는 대신 대량/배치 삽입을 수행하는 방법이 정의되어 있지 않습니까?
플러스 Dao 메서드가 "@Transactional"으로 주석 처리 되었기 때문에 모든 단일 병합 호출이 자체 트랜잭션 내에서 발생하는지 궁금합니다. 이는 성능에 도움이되지 않습니다.
아이디어가 있으십니까?
답장을 보내 주셔서 감사합니다. 내 Dao 메서드 내에서 병합() 대신 Persist() 사용하는 데 도움이 될 그들은 새로운 엔터티 때문에? – Lancelot
merge()와 persist()에는 서로 다른 의미가 있습니다. 그것은 간단한 문제가 아니며 JPA에 대한 독서를 강력히 제안합니다. – cletus