[Mytabis] Mybatis에서 currval() 사용 안 하는 이유
currval()란 현재 테이블에 적용된 현재 시퀀스 번호를 조회할 때 사용한다. 하지만 nextval()을 이용해 현재 트랜 잭션의 세션을 생성해주지 않으면 Mybatis에서 사용한 경우 에러가 난다. 그리고 currval을 사용하지 않는 이유는 현재 트랜잭션과 nextval()을 사용해 세션이 생성된 시점이 같은지 우리는 알 수가 없다. 시점이 다를 수도 있다. 그래서 mybatis에서는 currval을 이용해 현재 시퀀스를 조회 후 +1 값을 적용하지 않는다. Mybatis에서 currval() 대신 사용하는 방법 SELECT LAST_NUMBER FROM USER_SEQUENCES WHERE SEQUENCE_NAME = '시퀀스명(대문자)'; Mybatis에서 Insert문 실행 시 현재 시퀀스 ..
IT/SQL
2021. 5. 4. 11:34