⚡ 생각대로 살지 않으면 사는대로 생각한다.
⚡ 나는 어차피 잘 될 놈이다. 이미 잘 되고 있고, 계속해서 잘 되고 있다.
H2 데이터베이스
h2.bat
을 실행한다.Generic H2 (Server)
로 지정. 설정이름도 바뀜jdbc:h2:~/test
메이븐
Hibernate 강의 시점 최신버전은 Hibernate ORM 5.4
지금은 6.2 (LTS는 6.1)
나중에 스프링이랑 엮여서 실행되어야 한다.
💡이 때 버전 TIP
Spring 홈페이지 -> Project -> Spring Boot -> 내가 사용할Spring Boot의 공식문서(Reference Doc)
-> ctrl + F :org.hibernate
를 쭉쭉 찾다보면, 목록에서 딱Hibernate 버전
을 가리키는 부분이 나온다.
xml을 이렇게 설정하면,
연관 라이브러리를 땡겨오는데,
org.hibernate:hibernate-core:5.3.10.Final
H2 데이터베이스 라이브러리또한 주입받음.
이때 다운 받은 H2데이터 베이스와 똑같은 버전으로 맞춰줘야 함! (난 200으로!)
src/main/resources/META-INF/persistence.xml
에 위치해야 함.데이터베이스 방언(Dialect)
- JPA는 특정 데이터베이스에 종속X
- 각각의 데이터베이스가 제공하는 SQL문법과 함수는 조금씩 다르다.
- 가변 문자 : MySQL은 VARCHAR, Oracle은 VARCHAR2
- 문자열을 자르는 함수 : SQL표준은 SUBSTRING(), Oracle은 SUBSTR()
- 페이징 MySQL은 LIMIT, Oracle은 ROWNUM
- 방언 : SQL 표준을 지키지 않는 특정 데이터베이스만의 고유한 기능
hibernate.dialect 속성에 지정
- H2 : org.hibernate.dialect.H2Dialect
- Oracle 10g : org.hibernate.dialect.Oracle10gDialect
- MySQL : org.hibernate.dialect.MySQL5InnoDBDialect
하이버네이트는 40가지 이상의 데이터베이스 방언 지원
위 프로터피 속성중에서, 어떤 것은 javax로, 어떤것은 hibernate로 시작되는데, 이 둘의 차이점은
property name="hibernate.show_sql"
는 SQL을 볼것이냐 말것이냐에 대한 설정이다.
-끝-