티스토리 뷰

It

Springi Hibernate 8-5 Hibernate 설정

Torrent green93 2022. 10. 26. 22:23
반응형

Springi Hibernate 8-5 Hibernate 설정

설정 방법

XML 파일 이용하기

sessionFactory = new Configuration().configure().buildSessionFactory();

코드 실행을 위해 hibernate.cfg.xml 파일에 설정 정보가 작성되어 있어야 함.

설정 파일의 경로가 다르다면 아래의 코드 사용

sessionFactory = new Configuration().configure(

"config/hibernate/hibernate.cfg.xml").buildSessionFactory();

소스에서 명시하기

Configuration 클래스의 메서드 사용. addResource(), setProperty()

addResource() : 매핑 XML 설정 파일 지정

setProperty() : 각종 설정 정보 지정. ex) dialect, data source 등

DataSource 정의

SessionFactory  Session  Hibernate 설정 파일에 명시된 대로 Connection 객체 생성됨.

XML 설정 파일 예

<hibernate-configuration>

<session-factory>

<property name="connection.driver_class">

oracle.jdbc.driver.OracleDriver

</property>

<property name="connection.url">

jdbc:oracle:thin:@localhost:1521:xe

</property>

<property name="connection.username">hr</property>

<property name="connection.password">hr</property>

<property name="connection.pool_size">1</property>

</session-factory>

</hibernate-configuration>

SQL Dialect 설정

DBMS별 정보를 지니고 있는 Dialect를 지정하여 DBMS에 대한 독립성 제공

<property name="hibernate.dialect">

org.hibernate.dialect.Oracle10gDialect

</property>

DBMS 별 Dialect 클래스

DBMS
Dialect 클래스
DB2
org.hibernate.dialect.DB2Dialect
PostgreSQL
org.hibernate.dialect.PostgreDialect
MySQL
org.hibernate.dialect.MySQLDialect
Oracle 9i/10g
org.hibernate.dialect.Oracle9Dialect
Microsoft SQL Server
org.hibernate.dialect.SQLServerDialect

SQL 설정

SQL 문을 개발자가 작성하지 않고 Hibernate가 자동 생성함.

자동 생성된 SQL 문을 디버깅용도로 분석하고자 할때 콘솔에 출력되도록 설정해야 함.

속성
설명
hibernate.show_sql
Hibernate를 통해 생성된 SQL을 콘솔에 남길 것인지 여부를 정의하는 속성 (true|false)
hibernate.format_sql
hibernate.show_sql=true인 경우 해당 SQL문의 포맷을 정돈하여 콘솔에 남길 것인지 여부를 정의하는 속성 (true|false)
hibernate.use_sql_comments
Hibernate을 통해 생성된 SQL을 콘솔에 남길 때 Comments도 같이 남길 것인지 여부를 정의하는 속성 (true|false)

반응형

'It' 카테고리의 다른 글

파이썬 2진수를 10진수로  (0) 2022.11.07
시스템 버스  (0) 2022.11.05
SysMaster , heap, garbage collection, ART, TPS, GC  (0) 2022.10.24
inner class / 중첩 클래스  (0) 2022.10.22
Eclipse GEF  (0) 2022.10.20