이 기사에서는 Hibernate에서 대량 삽입/업데이트를 수행하는 방법을 살펴보겠습니다.
SQL 문을 실행할 때마다 데이터베이스에 대한 네트워크 호출을 통해 이를 수행합니다. 이제 데이터베이스 테이블에 10개의 항목을 삽입해야 한다면 10개의 네트워크 호출을 수행해야 합니다. 대신 일괄 처리를 사용하여 네트워크 호출을 최적화할 수 있습니다. 일괄 처리를 통해 단일 네트워크 호출에서 일련의 SQL 문을 실행할 수 있습니다.
이를 이해하고 구현하기 위해 엔터티를 정의해 봅시다 −
으아악Hibernate에서 일괄 처리를 활성화하려면 애플리케이션에 속성을 추가해야 합니다
속성 파일:@Entity public class Parent { @Id @GeneratedValue(strategy = GenerationType.AUTO) private long id; private String name; // Getters //Setters }
이제 EntityManager의 지속 기능을 실행하여 데이터베이스에 데이터를 삽입해야 합니다
콘솔에서 상위 테이블에 대한 삽입이 배치 크기 3으로 수행되는 것을 볼 수 있습니다.
엔티티를 유지하는 경우 Hibernate가 지속성 컨텍스트에 엔터티를 저장하기 때문에 OutOfMemoryException이 발생할 수 있습니다. 따라서 최적화 목적을 위해 각 배치 후에 엔터티 관리자의 플러시() 및 Clear()를 사용할 수 있습니다.
일괄 업데이트는 한 번의 네트워크 호출로 대량의 데이터를 업데이트하는 것을 의미합니다.
일괄 업데이트의 경우 프로세스는 동일합니다. 애플리케이션 속성 파일에 다음 두 문을 추가한 다음 업데이트 프로세스를 수행해야 합니다.
으아악데이터 업데이트 코드−
으아악Hibernate는 이제 이러한 명령문을 일괄적으로 묶어 실행합니다.
콘솔에서 볼 수 있듯이 상위 테이블의 데이터 업데이트는 배치 크기 3으로 수행됩니다.
위 내용은 Hibernate에서 대량 삽입 업데이트 작업을 수행하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!