2013-04-25 2 views
1

오늘 DB 책임자는 JPA/Hibernate에서 잘못된 시퀀스를 사용한다고 말했지만 생성 된 테이블 항목이 더 높은 ID를 갖는 이유를 확인했습니다. (트리거) 생성 된 항목보다.
그리고 나는 DB 트리거에서이 DB 시퀀스를 사용하여 항목을 생성하기 때문에 나를 위해 끔찍한 This on SO을 발견했습니다. 내가 아는 한 말이다. 50 배의 시간 내에 My DB가 Java 어플리케이션에서 생성 된 시퀀스 번호를 누르기 시작합니다.Hibernate 시퀀스, 특정 시퀀스 사용

이 문제를 방지하려면 시퀀스 * 50이 아닌 특정 시퀀스를 사용해야합니다. 그러나 이것을하는 법을 알지 못했습니다. 누구든지 나를 도울 수 있습니까? 사전에

덕분에

현재 다음과 같이 정의된다 :

가 최대 절전 모드에서
@Id 
@Column(name = "PVP_COST_ELEMENTS_ID") 
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "wtStatSEQ") 
@SequenceGenerator(name = "wtStatSEQ", sequenceName = "warehouse.wt_stat_SEQ") 

답변

1

당신이 주석

+0

업데이트

@Id @Column(name = "COLUMN_NAME", nullable = false) @GeneratedValue(strategy = AUTO, generator = "yourEntitySeqGen") @SequenceGenerator(name = "yourEntitySeqGen", sequenceName = "SEQUENCE_NAME_IN_YOUR_DATABASE") 

환호를 사용하여 명시 적으로 사용 서열을 지정할 수 있습니다 Q 조금. 전략 = 자동/시퀀스 때문입니까? :) –