[개발] 기록
[2019.03.16] H2와 Dialect
kok202
2019. 3. 16. 21:26
H2
- 스프링 내장형 데이터 베이스이다.
- 인메모리 데이터 베이스이다.
- 용량이 1.5M 밖에 안하고 가볍다.
- 웹에서 쿼리를 할 수 있는 GUI를 제공한다. (http://localhost:8080/console/)
- 테스트 단계에서 사용하기에 적합하다.
Hibernate Dialect
- 직역하면 방언
- MySQL, Oracle, H2 ... 모든 데이터 베이스의 SQL은 비슷한데 전부 미묘하게 다르다.
- 프로젝트를 MySQL로 작업하다 Oracle로 바꿀 경우 현재까지 작업해온 프로젝트 내의 모든 SQL 문을 수정해야한다.
- 이를 방지하기 위해 Hibernate는 dialect 를 이용하여 각각의 데이터 베이스에 대응하는 dialect를 만들어 놓았다.
- 개발자는 프로젝트의 Hibernate에게 어떤 DB를 사용할 것이라고 dialect 를 알려주면 Hibernate는 이를 기준으로 쿼리문을 작성한다.
- org.hibernate.dialect.~~~Dialect 으로 설정한다.