두잇 두두 2024. 8. 27. 23:32
728x90
@Entity
@TableGenerator(
	name = "BOARD_SEQ_GENERATOR",
    table = "MY_SEQUENCES",
 	pkColumnValue = "BOARD_SEQ", allocationSize = 1)

public class Board (
	@id
    @GeneratedValue(strategy = GenerationType.Table,
    	generator = "BOARD_SEQ_GENERATOR")
    private Long id;
)

 

name: 식별자 생성기 이름

table: 키생성 테이블 명

pkColumnName: 시퀀스 컬럼 명

valueColumnName: 시퀀스 값 컬럼명

pkColumnValue: 키로 사용할 값 이름

initialValue: 초기 값, 마지막으로 생성된 값이 기준이다.

allocationSize: 시퀀스 한 번 호출에 증가하는 수(성능 최적화에 사용)

catalog, schema db catalog, schema 이름

uniqueConstraints(DDL) 유니크 제약조건

 

*table 전략은 select 쿼리 사용 후 update 쿼리를 사용, db와 한번 더 통신

@TableGenerator.allocationSize를 사용할 수 있다.