노트
- H2 설정시에 Compatibility Mode 라는 것이 따로 존재한다.
- H2를 보통은 테스트시에 사용하는 인메모리 DB로 쓰는 경우가 많은데, 테스트가 아닌 런타임 환경에서 사용하는 원래 DB와 동일한 조건의 환경으로 맞추는 것이 가능하다.
- 이렇게 하면 각 DB 특성에 맞는 기능이나 해당 DB에 맞게 지원하는 SQL 쿼리를 쓰는 것이 가능하다.
- 기본은 REGULAR 모드이다.
- 지원하는 모드 리스트 (이외는 아래 공식문서 참조)
- STRICT (표준 SQL에 맞게 검사하고 싶으면)
dbc:h2:~/test;MODE=STRICT
jdbc:h2:~/test;MODE=LEGACY
jdbc:h2:~/test;MODE=MySQL;DATABASE_TO_LOWER=TRUE
jdbc:h2:~/test;MODE=PostgreSQL;DATABASE_TO_LOWER=TRUE;DEFAULT_NULL_ORDERING=HIGH
jdbc:h2:~/test;MODE=MariaDB;DATABASE_TO_LOWER=TRUE
jdbc:h2:~/test;MODE=Oracle;DEFAULT_NULL_ORDERING=HIGH
jdbc:h2:~/test;MODE=MSSQLServer;DATABASE_TO_UPPER=FALSE;CASE_INSENSITIVE_IDENTIFIERS=TRUE
요약
요약: 테스트 할 때 따로 설정하면 유용할듯?