H2 Error

카레·2023년 2월 26일
0

회고

목록 보기
1/3

H2를 사용하여 프로젝트 진행 중 예상치 못한 에러를 만나게 되었다 ㅠㅠ

pk로 설정한 id 값을 AUTO_INCREMENT 해주기 위해 평상시와 같이
@GenerationValue(strategy = GenernationType.IDENTITY)를 사용하였다.

에러가 안날거라는 내 예상과는 다르게 ID 값이 null 일 순 없다는 오류가 났다.

찾아본 결과, 해결 방법이 2가지가 있다는 것을 알게 되었다.

  • 방법1
    • H2 version이 2.x.x 일 경우 Hibernate orm 을 제공을 하지 않아 발생하는 에러로, application.properties / application.yml 에 작성하는 DataBase url 뒤에
      ";MODE=LEGACY" 를 붙여주면 해결 할 수 있다.
  • 방법2
    • @GenerationType.IDENTITY를 @GerationType.SEQUENCE로 변경하기.
      • @GenerationType.IDENTITY 는 주로 MySQL, PostgreSQL, SQL Server DB2 등에서 사용한다.
      • @GenerationType.SEQUENCE 는 주로 ORACLE, PostgreSQL, DB2, H2 에서 사용한다.

🥲 Jpa를 공부가 필요하다는 것을 느꼈다 ㅠㅠ


참조
https://gmlwjd9405.github.io/2019/08/12/primary-key-mapping.html
https://icthuman.tistory.com/entry/Spring-JPA-H2-%EC%82%AC%EC%9A%A9%EC%8B%9C-GenerationTypeIDENTITY-%EC%98%A4%EB%A5%98

0개의 댓글