hibernate学习笔记(五)延遲初始 hibernate.cfg.xml文件的具体配置

hibernate学习笔记(五)延遲初始 Lazy Initialization
2008年01月30日 星期三 00:09
在Hibernate中,集合類的映射可以延遲初始(Lazy Initialization),在多对一或者一对多中,都可以使用延遲初始,例如:一个用户(user对应user表)有多个email地址(address对应address表),也就是在真正索取該物件的資料時,才向資料庫查詢,就上次例子來說,就是我們在讀取User時,先不取得其中的 addrs屬性中之物件資料,由於只需要讀取User的name屬性,此時我們只要執行一次select即可,真正需要addrs的資料時,才向資料庫要求。在含有集合类的user.hbm.xml中要如下设置:

   <set name="addrs" table="ADDRS" lazy="true">
              <key column="USER_ID"/>
              <element type="string" column="ADDRESS" not-null="true"/>
          </set>

hibernate学习笔记(一)hibernate.cfg.xml文件的具体配置

 

hibernate学习笔记(一)hibernate.cfg.xml文件的具体配置

一、首先学习hibernate.cfg.xml配置文件的具体配置
<?xml version="1.0" encoding="UTF-8"?>

<!--指定该文件的官方dtd-->
<!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语言 -->
     <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
    <!-- jdbc驱动程式 -->
     <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    <!-- jdbc url -->
     <property name="connection.url">jdbc:mysql://localhost:3306/test</property>
    <!-- 数据库用户名 -->
     <property name="connection.username">root</property>
    <!-- 数据库密码 -->
     <property name="connection.password">wyq</property>
    <!-- C3P0连接池设定 -->
     <!--最小连接数-->
     <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>
    <!-- 每隔100笔资料送入资料库,清除缓存(定期清除缓存,减小压力) -->
     <property name="hibernate.jdbc.batch_size">100</property>
    <!-- 设定事务管理的工厂类 -->
     <property name="hibernate.transaction.factiory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
    <mapping resource="com/wyq/hibernate/pojo/User.hbm.xml"/>
    <mapping resource="com/wyq/hibernate/pojo/TUser.hbm.xml"/>
    <mapping resource="com/wyq/hibernate/pojo/Room.hbm.xml"/>
   </session-factory>
</hibernate-configuration>
需要的jar包有c3p0.jar,hibernate3.jar,数据库.jar,log4j.jar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值