문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
java:hibernate:batch [2015/01/09 11:14] kwon37xi [Hibernate Batch/Bulk Insert/Update] |
java:hibernate:batch [2022/11/13 23:13] (현재) kwon37xi |
||
|---|---|---|---|
| 줄 5: | 줄 5: | ||
| * [[https:// | * [[https:// | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
| - | Batch Insert는 여러건의 '' | + | ===== 작동 원리 |
| - | + | ||
| - | [[https:// | + | |
| - | ===== 기억할 점 ===== | + | |
| - | * '' | + | |
| - | * 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< | ||
| 줄 23: | 줄 35: | ||
| * 지정된 갯수만큼 처리하고 트랜잭션을 닫거나 '' | * 지정된 갯수만큼 처리하고 트랜잭션을 닫거나 '' | ||
| * '' | * '' | ||
| - | * '' | + | * '' |
| ===== 관계에 대한 Batch Insert ===== | ===== 관계에 대한 Batch Insert ===== | ||
| 줄 53: | 줄 65: | ||
| </ | </ | ||
| + | ===== Versioned Data ===== | ||
| + | * '' | ||
| + | * 즉, '' | ||
| + | * 기본으로는 자동으로 될 수도 있는데, 일반적으로 '' | ||
| + | * 단, '' | ||
| + | ===== 참조 ===== | ||
| + | * [[https:// | ||
| + | * [[https:// | ||