hibernate.cfg.xml 설정 요약
1. 데이터 소스 구성
Hibernate에서.cfg.xml에서 JDBC를 설정할 수도 있고 JNDI를 설정할 수도 있습니다.이 소절에서 데이터 원본을 어떻게 설정하는지 설명합니다.
hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- -->
<!— true Hibernate sql -->
<property name="show_sql">true</property>
<!-- SQL , MySQL -->
<property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
<!-- -->
<property name="jdbc.fetch_size">50</property>
<!-- -->
<property name="jdbc.batch_size">30</property>
<!— JNDI -->
<!-- -->
<property name="connection.datasource">java:comp/env/jdbc/datasourcename</property>
<!-- Hibernate -->
<property name="connection.provider_class">net.sf.hibernate.connection.DatasourceConnectionProvider</property>
<property name="dialect">net.sf.hibernate.dialect.SQLServerDialect</property>
<!— -->
<mapping resource="com/amigo/pojo/User.hbm.xml"/>
<mapping resource="com/amigo/pojo/Org.hbm.xml"/>
</session-factory>
</hibernate-configuration>
2.c3p0 연결 풀
c3p0 연결 탱크는Hibernate가 추천하는 연결 탱크입니다. 이 연결 탱크를 사용할 때 c3p0의jar 패키지를classpath에 추가해야 합니다.c3p0 연결 풀의 구성 예는 다음과 같습니다.
hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- SQL -->
<property name="show_sql">true</property>
<!-- SQL , MySQL -->
<property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
<!-- , mysql、sqlserver Oracle -->
<property name="connection.driver_class">……</property>
<!-- JDBC URL -->
<property name="connection.url">……</property>
<!-- -->
<property name="connection.username">user</property>
<!-- -->
<property name="connection.password">pass</property>
<property name="c3p0.min_size">5</property>
<property name="c3p0.max_size">20</property>
<property name="c3p0.timeout">1800</property>
<property name="c3p0.max_statements">50</property>
<!-- -->
<mapping resource="com/amigo/pojo/User.hbm.xml"/>
<mapping resource="com/amigo/pojo/Org.hbm.xml"/>
</session-factory>
</hibernate-configuration>
상기 설정에서 Hibernate는 설정 파일에 따라 연결을 생성하여 c3p0 관리에 넘깁니다.
3.proxool 연결 탱크
proxool은 c3p0과dbcp와 달리 스스로 연결을 생성하기 때문에 연결 정보는 proxool 프로필에 저장됩니다.그것을 사용할 때proxool-0.8.3을 사용해야 합니다.jar는classespath에 가입합니다.구성의 예는 다음과 같습니다.
hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- SQL -->
<property name="show_sql">true</property>
<!-- SQL , MySQL -->
<property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
<!—proxool -->
<property name="proxool.pool_alias">pool1</property>
<property name="proxool.xml">ProxoolConf.xml</property>
<property name="connection.provider_class">net.sf.hibernate.connection.ProxoolConnectionProvider</property>
<!-- -->
<mapping resource="com/amigo/pojo/User.hbm.xml"/>
<mapping resource="com/amigo/pojo/Org.hbm.xml"/>
</session-factory>
</hibernate-configuration>
hibernate에 있습니다.cfg.xml과 같은 디렉터리에서proxool의 프로필을 작성합니다:ProxoolConf.xml, 이 파일의 구성 예는 다음과 같습니다.
ProxoolConf.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- the proxool configuration can be embedded within your own application's.
Anything outside the "proxool" tag is ignored. -->
<something-else-entirely>
<proxool>
<alias>pool1</alias>
<!--proxool -->
<!-- url-->
<!-- jdbc:mysql://localhost:3306/dbname?useUnicode=true&characterEncoding=GBK-->
<driver-url>… </driver-url>
<!-- ,eg. com.mysql.jdbc.Driver-->
<driver-class>… </driver-class>
<driver-properties>
<!-- ,eg. value root-->
<property name="user" value="…"/>
<!-- ,eg. value root-->
<property name="password" value="…."/>
</driver-properties>
<!-- proxool ( ), , -->
<house-keeping-sleep-time>90000</house-keeping-sleep-time>
<!-- , -->
<maximum-new-connections>20</maximum-new-connections>
<!-- -->
<prototype-count>5</prototype-count>
<!-- , , , , maximum-new-connections -->
<maximum-connection-count>100</maximum-connection-count>
<!-- -->
<minimum-connection-count>10</minimum-connection-count>
</proxool>
</something-else-entirely>
4.dbcp 연결 탱크
hibernate3.0에서dbcp를 지원하지 않습니다.hibernate의 저자는hibernate에 있습니다.org에서 실천에서dbcp에BUG가 있음을 명확히 지적하였는데 어떤 경우에 빈 연결이 많이 생겨서 방출할 수 없기 때문에dbcp에 대한 지원을 포기하였다.dbcp를 사용해야 한다면 개발자는commons-pool-1.2를jar와commons-dbcp-1.2.1.jar 두 개의jar 패키지가classpath에 추가되었습니다.dbcp는 c3p0과 마찬가지로 hibernate에서 연결됩니다.
hibernate2.0의 구성은 다음과 같습니다.
hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- SQL -->
<property name="show_sql">true</property>
<!-- SQL , MySQL -->
<property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
<!-- , mysql、sqlserver Oracle -->
<property name="connection.driver_class">……</property>
<!-- JDBC URL -->
<property name="connection.url">……</property>
<!-- ,eg. root -->
<property name="connection.username">…</property>
<!-- , eg. root-->
<property name="connection.password">…</property>
<property name="dbcp.maxActive">100</property>
<property name="dbcp.whenExhaustedAction">1</property>
<property name="dbcp.maxWait">60000</property>
<property name="dbcp.maxIdle">10</property>
<property name="dbcp.ps.maxActive">100</property>
<property name="dbcp.ps.whenExhaustedAction">1</property>
<property name="dbcp.ps.maxWait">60000</property>
<property name="dbcp.ps.maxIdle">10</property>
<!-- -->
<mapping resource="com/amigo/pojo/User.hbm.xml"/>
<mapping resource="com/amigo/pojo/Org.hbm.xml"/>
</session-factory>
</hibernate-configuration>
5. MySql 연결 구성
hibernate에서는 MySql, Sql Server, Oracle 등 다양한 데이터베이스를 구성할 수 있습니다. MySql의 구성은 다음과 같습니다.
hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!-- -->
<!— true Hibernate sql -->
<property name="show_sql">true</property>
<!-- SQL , MySQL -->
<property name="dialect">net.sf.hibernate.dialect.MySQLDialect</property>
<!-- -->
<property name="jdbc.fetch_size">50</property>
<!-- -->
<property name="jdbc.batch_size">30</property>
<!-- -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- JDBC URL -->
<property name="connection.url">jdbc:mysql://localhost/dbname?characterEncoding=gb2312</property>
<!-- -->
<property name="connection.username">root</property>
<!-- -->
<property name="connection.password">root</property>
<!— -->
<mapping resource="com/amigo/pojo/User.hbm.xml"/>
<mapping resource="com/amigo/pojo/Org.hbm.xml"/>
</session-factory>
</hibernate-configuration>
위에서 사용한 구동류는com입니다.mysql.jdbc.Driver.MySql의 연결기jar 패키지 (eg. mysql-connector-java-5.0.4-bin.jar)를classpath에 추가해야 합니다.
6. Sql Server 연결 구성
이 소절은 Sql Server 데이터베이스의hibernate 연결 설정에 대해 설명합니다. 여기서 연결 부분만 설명하고 나머지 부분은 2.2.1.5와 같이 더 이상 설명하지 않습니다.내용은 다음과 같습니다.
<!-- -->
<property name="connection.driver_class">net.sourceforge.jtds.jdbc.Driver</property>
<!-- JDBC URL -->
<property name="connection.url">jdbc:jtds:sqlserver://localhost:1433;DatabaseName=dbname</property>
<!-- -->
<property name="connection.username">sa</property>
<!-- -->
<property name="connection.password"></property>
상례의 드라이버는 jtds의 드라이버를 사용하기 때문에 독자는 jtds의jar 패키지(eg.jtds-1.2.jar)를classpath에 추가해야 한다.
7. Oracle 접속 구성
이 소절은 Sql Server 데이터베이스의hibernate 연결 설정에 대해 설명합니다. 여기서 연결 부분만 설명하고 나머지 부분은 2.2.1.5와 같이 더 이상 설명하지 않습니다.내용은 다음과 같습니다.
<!-- -->
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<!-- JDBC URL -->
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:dbname</property>
<!-- -->
<property name="connection.username">test</property>
<!-- -->
<property name="connection.password">test</property>
위에서 사용한 드라이버 종류는oracle입니다.jdbc.driver.개발자는 관련jar 패키지(ojdbc14.jar)를classpath에 추가해야 합니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
PLSQL을 사용하여 배열에서 가장 큰 요소 인쇄(Oracle Application Express 11g에서)배열에서 가장 큰 요소를 인쇄하는 것은 기본 코드입니다. 여기서는 Oracle Application Express 11g에서 PLSQL을 사용하여 어레이에서 가장 큰 요소를 인쇄하는 방법을 보여드리겠습니다. Orac...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.