문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
java:hibernate:batch [2015/01/07 19:27] kwon37xi [기억할 점] |
java:hibernate:batch [2022/11/13 23:13] (현재) kwon37xi |
||
---|---|---|---|
줄 4: | 줄 4: | ||
* [[http:// | * [[http:// | ||
* [[https:// | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
- | Batch Insert는 여러건의 '' | + | ===== 작동 원리 |
- | + | ||
- | ===== 기억할 점 ===== | + | |
- | * '' | + | |
- | * batch 옵션은 Hibernate가 직접 Insert 문을 '' | + | |
* Hibernate는 평소에는 '' | * Hibernate는 평소에는 '' | ||
* '' | * '' | ||
- | * JDBC 드라이버 중에는 이렇게 | + | * 기본적으로 '' |
+ | |||
+ | ===== @Id 에 대한 주의점 ===== | ||
+ | * '' | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * 따라서 Batch Insert 를 올바로 작동시키려면 '' | ||
+ | |||
+ | |||
+ | > For IDENTITY columns, Hibernate cannot delay the INSERT statement until flush time because the identifier value can only be generated by executing the statement. | ||
+ | > For this reason, Hibernate disables JDBC batch inserts for entities using the IDENTITY generator strategy. | ||
+ | |||
+ | ===== 기억할 점 ===== | ||
+ | * batch 옵션은 Hibernate가 직접 Insert | ||
+ | | ||
+ | | ||
* [[database: | * [[database: | ||
* MySQL의 경우 실제로 생성된 쿼리는 '' | * MySQL의 경우 실제로 생성된 쿼리는 '' | ||
+ | * [[https:// | ||
===== 기본 설정 ===== | ===== 기본 설정 ===== | ||
* Hibernate Property< | * Hibernate Property< | ||
줄 21: | 줄 35: | ||
* 지정된 갯수만큼 처리하고 트랜잭션을 닫거나 '' | * 지정된 갯수만큼 처리하고 트랜잭션을 닫거나 '' | ||
* '' | * '' | ||
- | * '' | + | * '' |
===== 관계에 대한 Batch Insert ===== | ===== 관계에 대한 Batch Insert ===== | ||
줄 51: | 줄 65: | ||
</ | </ | ||
+ | ===== Versioned Data ===== | ||
+ | * '' | ||
+ | * 즉, '' | ||
+ | * 기본으로는 자동으로 될 수도 있는데, 일반적으로 '' | ||
+ | * 단, '' | ||
+ | ===== 참조 ===== | ||
+ | * [[https:// | ||
+ | * [[https:// |