이것은 최대 절전 모드에 대한 두 번째 게시물입니다. 내가 최대 절전 모드를 사용하기 시작한 이래로 그것은 해결 된 문제보다 더 많은 문제를 안겨 주었다. 거의 평범한 JDBC를 사용해야하는 것처럼 느껴집니다. 어쨌든,Hibernate SequenceGenerator가 잘못된 nextval을 반환 함
여기 제가 전투를 시도하는 문제 중 하나입니다.
.hbm 파일의 내 시퀀스 생성기는 다음과 같습니다.
<id name="id" type="long" column="ID">
<generator class="sequence">
<param name="sequence">ADVENTURES_ID_SEQ</param>
<param name="allocationSize">1</param>
<param name="initialValue">17599</param>
</generator>
</id>
참고 : 초기 값은 LAST_NUMBER은 오라클 순서에 있기 때문입니다 17599.입니다 : 17,599
CREATED 25-APR-12
LAST_DDL_TIME 25-APR-12
SEQUENCE_OWNER ADVENTURE_ADMIN
SEQUENCE_NAME ADVENTURES_ID_SEQ
MIN_VALUE 1
MAX_VALUE 9999999999999999999999999999
INCREMENT_BY 1
CYCLE_FLAG N
ORDER_FLAG N
CACHE_SIZE 20
LAST_NUMBER 17599
본인은 200로 생성 다음 시퀀스 (201)를 참조 코드를 실행하면 Hibernate Debug 문.
DEBUG SQL - select ADVENTURES_ID_SEQ.nextval from dual
DEBUG SequenceGenerator - Sequence identifier generated: 201
나는 nextval이 17600이어야한다고 예상했습니다. 오라클 시퀀스가 전혀 사용되지 않는 것 같습니다.
구성에있어 문제점 및 해결 방법은 무엇입니까? 어떤 도움이라도 대단히 감사합니다.
감사
같은 데이터베이스에서'select ADVENTURES_ID_SEQ.nextval from dual'을 실행하면 어떻게됩니까? – Firo
정확한 값 17584, 17585, 17586 등을 제공합니다. DBA는 정보 테이블에이 경우 17599 인 잘못된 값을 표시 할 수 있다고 말했습니다. 이 잘못된 값은 정보를 계산하는 데 몇 가지 단축키를 사용하기 때문에 (Oracle) 지침으로 만 사용해야하기 때문입니다. – n00bc0der