Hibernate的基本配置
第二部分:Hibernate的基本配置
1、可编程的配置方式
1) 如果在配置cfg.xml的时候,不想在里面配置hbm.xml怎么办呢?可在程序里使用
可编程的配置方式,也就是使用程序来指定在cfg.xml里面的配置信息,不推荐
Configuration cfg = new Configuration()
2) 一个替代方法(有时是更好选择)是,指定被映射的类,让Hibernate帮你寻找映射
Configuration cfg = new Configuration()
.addClass(org.hibernate.auction.Item.class)
.addClass(org.hibernate.auction.Bid.class);
Configuration cfg = new Configuration()
.addClass(org.hibernate.auction.Item.class)
.setProperty("hibernate.dialect",
"org.hibernate.dialect.MySQLInnoDBDialect")
.setProperty("hibernate.connection.datasource", "java:comp/env/jdbc/test")
.setProperty("hibernate.order_updates", "true");
3:设置Java的系统属性,形如:java –Dproperty=value
org.hibernate.cfg.Configuration 实例被设计成启动期间(startup-time)对象,
2、xxx.cfg.xml配置-与数据库连接
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
<property name="connection.username">javass</property>
<property name="connection.password">javass</property>
<property name="connection.datasource">java:/javassDs</property>
由于Hibernate自己实现的连接池不太好,在项目中,建议使用工业级的连接
池,比如:c3p0,Hibernate发行包中带有c3p0,下面就是其基本配置示例:
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:orcl</property>
<property name="connection.username">javass</property>
<property name="connection.password">javass</property>
<property name="c3p0.min_size">5</property>
<property name="c3p0.max_size">20</property>
<property name="c3p0.timeout">180</property>
<property name="c3p0.max_statements">50</property>
3、xxx.cfg.xml配置-日志
1:Hibernate使用SLF4J来做日志记录,可以根据你选择的绑定把日志输出到日志框架(NOP、
Simple、log4j version 1.2、JDK 1.4 logging、JCL 或 logback)上。
2:需要在 classpath 里加入 slf4j-api.jar 和你选择的绑定的 JAR 文件(使用 Log4J 时