Hibernate(4)

关系一对多在多对一的基础上为Category增加一个Set集合

多对多在一对多的基础上对Product增加一个Set集合

 

实现N+1利用Iterator

首先通过Query的iterator把所有满足条件的Product的id查出来

然后再通过it.next()查询每一个对象
如果这个对象在缓存中,就直接从缓存中取了
否则就从数据库中获取

 

在更新数据的时候会和像线程改变数据时一样出现脏数据,所以需要添加乐观锁

在Product中添加version属性,在配置文件中加上


<version name="version" column="ver" type="int"></version>

version元素必须紧跟在id后面

 

C3P0连接池,建立连接数据库比较消耗时间,所以可以采用连接池的方法

导入jar包

配置文件中加入

 <property name="hibernate.connection.provider_class"

            org.hibernate.connection.C3P0ConnectionProvider 
        </property
        <property name="hibernate.c3p0.max_size">20</property
        <property name="hibernate.c3p0.min_size">5</property
        <propertyname="hibernate.c3p0.timeout">50000</property
        <propertyname="hibernate.c3p0.max_statements">100</property
        <propertyname="hibernate.c3p0.idle_test_period">3000</property
        <!-- 当连接池耗尽并接到获得连接的请求,则新增加连接的数量 -->
        <propertyname="hibernate.c3p0.acquire_increment">2</property
        <!-- 是否验证,检查连接 -->
        <propertyname="hibernate.c3p0.validate">false</property
 

 

posted @ 2018-04-14 00:15  lspa  阅读(91)  评论(0编辑  收藏  举报