`
ootabc
  • 浏览: 109754 次
  • 性别: Icon_minigender_1
  • 来自: 湖南
社区版块
存档分类
最新评论

hibernate属性详解(转帖)

阅读更多
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close"> 
<!-- 以下配置都是使用 jdbc.properties 属性文件中的配置,而之所以可以这样写,就是因为有 属性占位符配置的原因 --> 
<property name="driverClass" value="${jdbc.driverClassName}"/> 
<property name="jdbcUrl" value="${jdbc.url}"/> 
<property name="user" value="${jdbc.username}"/> 
<property name="password" value="${jdbc.password}"/> 
<!-- 连接池维持的最小的连接个数 --> 
<property name="minPoolSize" value="5"/> 
<!-- 连接池维持的最大的连接个数 --> 
<property name="maxPoolSize" value="20"/> 
<!-- 最大空闲时间, 当某个连接在这个时间内没活动后将从池中移除,前提是池中至少多于最少的连接数: minPoolSize --> 
<property name="maxIdleTime" value="1800"/> 
<!-- 为加强准备语句的执行性能,此参数指定被缓存的 PreparedStatement 的个数 --> 
<property name="maxStatements" value="50"/> 
</bean> 


Hibernate 会话厂 SessionFactory
Session 就是用于每次与数据库会话的,因此需要:
数据库的配置参数,这些参数就是 上面的数据源指定的! 因此我们只需引用即可: ref="dataSource";
实体映射配置 hibernate.cfg.xml 配置
结果缓存配置(这里使用的是开源的 ehcache)

<!-- Hibernate SessionFactory --> 
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> 
<!-- 引用前面定义的数据源 --> 
<property name="dataSource" ref="dataSource"/> 
<!-- 所有实体映射文件列表, 所有的 hbm.xml 文件 --> 
<property name="mappingResources"> 
<list> 
<value>org/springframework/samples/jpetstore/domain/Account.hbm.xml</value> 
<value>org/springframework/samples/jpetstore/domain/Banner.hbm.xml</value> 
<value>org/springframework/samples/jpetstore/domain/Category.hbm.xml</value> 
<value>org/springframework/samples/jpetstore/domain/Inventory.hbm.xml</value> 
<value>org/springframework/samples/jpetstore/domain/Item.hbm.xml</value> 
<value>org/springframework/samples/jpetstore/domain/LineItem.hbm.xml</value> 
<value>org/springframework/samples/jpetstore/domain/Order.hbm.xml</value> 
<value>org/springframework/samples/jpetstore/domain/Product.hbm.xml</value> 
<value>org/springframework/samples/jpetstore/domain/Supplier.hbm.xml</value> 
</list> 
</property> 
<!-- 传统上的 hibernate.cfg.xml 文件的参数放在这里 --> 
<property name="hibernateProperties"> 
<props> 
<!-- 指定数据库方言 --> 
<prop key="hibernate.dialect">${hibernate.dialect} 
</prop> 
<!-- 是否在日志中输出所有Hibernate与数据库交互的SQL语句 --> 
<prop key="hibernate.show_sql">true</prop> 
<!-- 是否在日志中输出的SQL 语句格式化成易读形式 --> 
<prop key="hibernate.format_sql">true</prop> 
<!-- 是否显示统计形式,一般在测试阶段使用 --> 
<prop key="hibernate.generate_statistics">true</prop> 
<!-- 对于级联查询,一次性获取的级联深度, @todo 需进一步研究 --> 
<prop key="hibernate.max_fetch_depth">2</prop> 
<!-- 
Fetch Size 是设定JDBC的Statement读取数据的时候每次从数据库中取出的记录条数,一般设置为30、50、100。 
Oracle数据库的JDBC驱动默认的Fetch Size=15,设置Fetch Size设置为:30、50,性能会有明显提升,如果继续增大, 
超出100,性能提升不明显,反而会消耗内存。 
--> 
<prop key="hibernate.jdbc.fatch_size">100</prop> 
<!-- 
不必等到累计到50个SQL之后才执行.只要事务commit后,不管缓存中有多少条sql语句都要执行. 
hibernate.jdbc.batch_size参数只是设定一次最多可以提交多少sql语句的上限,提高sql语句的执行效率 
--> 
<prop key="hibernate.jdbc.batch_size">50</prop> 
<!-- 
(1)create 在每次SesstionFactory 构建时(一般是应用重启时,或者伴随着应用服务器重启时),先将之前数据库中的所有数据全 
部清空,后紧跟着根据所有的hbm.xml 映射文件重新创建新的数据库表 

(2)create-drop 除了create 的所有含义之外,在每次应用的退出前,将进行一次数据空清空。因此这个配置将有两次清空操作, 
一次是退出,一次是启动时。 

(3)update 
如果在开发阶段理发了实体对象的映射文件(hbm.xml) 的定义后,此配置将后台的数据库表进行更新(如增加表的列) 

(4)validate 
用于校验现有的表与现有的配置是否一致。 
--> 
<prop key="hibernate.hbm2ddl.auto">update</prop> 
<!-- 见下面的解释 --> 
<prop key="hibernate.hbm2ddl.auto">update</prop> 
<!--结果缓存配置:- 将ehcache.xml 置于 classpath 中- 如果不设置“查询缓存”, 
那么hibernate只会缓存使用load()方法获得的单个持久化对象,如果想缓存使用findall()、 list()、 
Iterator()、createCriteria()、createQuery()等方法获得的数据结果集的话,就需要设置 
hibernate.cache.use_query_cache true 才行- 在Hbm文件中添加<cache usage="read-only"/>- 
如果需要“查询缓存”,还需要在使用Query或Criteria()时设置其setCacheable(true);属性--> 
<prop key="hibernate.cache.use_query_cache">true</prop> 
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop> 
</props> 
</property> 
<!-- 为解决 merge()方法语义的歧义 @todo 以后进一步解析或者你可以看一下相应的文档 --> 
<property name="eventListeners"> 
<map><entry key="merge"> 
<bean class="org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener"/> 
</entry></map> 
</property> 
</bean>
分享到:
评论

相关推荐

    hibernate包详解+hibernatePPT

    **hibernate包详解** Hibernate 是一款开源的对象关系映射(ORM)框架,它为Java开发者提供了一种在关系数据库和面向对象编程之间架起桥梁的解决方案。通过使用Hibernate,开发人员可以避免直接编写SQL语句,而是用...

    Hibernate的详解

    **Hibernate详解** Hibernate是一款强大的Java持久化框架,它简化了数据库与Java对象之间的交互,使得开发者无需关注SQL的编写,可以更加专注于业务逻辑。本文将深入探讨Hibernate的核心概念、主要功能以及如何在...

    hibernate注解详解

    在Hibernate中,注解是用于替代传统的XML配置文件,以元数据的形式标注在类、属性或者方法上,实现对象与数据库表之间的映射。本文将深入探讨Hibernate中的注解,帮助你更好地理解和应用它们。 1. **实体注解(@...

    Hibernate中cascade与inverse属性详解

    Hibernate中cascade与inverse属性详解

    Hibernate注解详解

    一。实体Bean 每个持久化POJO类都是一个实体Bean, 通过在类的定义中使用 @Entity 注解来进行声明。...Hibernate 可以对类的属性或者方法进行注解。属性对应field类别,方法的 getXxx()对应property类别。

    Hibernate缓存深入详解

    Hibernate缓存深入详解

    Hibernate缓存详解

    **Hibernate缓存详解** 在Java开发中,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。为了提高数据访问性能,Hibernate引入了缓存机制,它可以减少对数据库的直接访问,从而提升应用的...

    Hibernate技术详解

    ### Hibernate技术详解 #### 一、Hibernate简介与特点 Hibernate是一种开源的对象关系映射(ORM)框架,用于Java持久化应用程序。它通过提供强大的映射工具和服务,将面向对象的数据模型映射到基于SQL的关系数据库...

    搞定J2EE:Struts_Spring_Hibernate整合详解与典型案例源代码

    以下章节源码[03] [04] [05] [08] [10] [11] [12] [13] [14] [15] [16]

    hibernate 深入详解

    关于hibernate的文档,让你详细的了解hibernate

    hibernate配置图像详解

    hibernate的配置介绍,在myeclipse中配置hibernate,hibernate已经在myeclipse中了,创建工程,然后在工程中添加hibernate框架,一些设置

    hibernate.hbm2ddl.auto属性详解

    详解hibernate.hbm2ddl.atuo 属性的配置

    hibernate配置文件详解

    Hibernate 配置文件详解 Hibernate 是一个流行的 ORM(Object-Relational Mapping)框架,用于简化 Java 应用程序中的数据库交互。 Hibernate 的配置文件是其核心组件之一,用于定义 Hibernate 的运行期参数。下面...

    Hibernate 配置详解 (二)

    ### Hibernate配置详解(二)——深入理解`.hbm.xml`文件与实体关联 #### 引言 在前文《Hibernate 配置详解》中,我们已经初步探讨了Hibernate框架的基本配置,包括`hibernate.cfg.xml`文件的重要性及其在...

    经典hibernate配置详解

    【hibernate配置详解】 Hibernate,作为一款强大的Java对象关系映射(ORM)框架,极大地简化了数据库操作。它的配置是整个系统的核心部分,对于初学者来说,理解并正确配置Hibernate至关重要。本篇将深入探讨...

    hibernate注释详解

    hibernate注释详解 内含hibernate各种注释说明

    hibernate--5.Hibernate配置文件详解-2

    标题"hibernate--5.Hibernate配置文件详解-2"暗示我们将继续上一节的内容,进一步深入理解Hibernate配置文件的各个方面。通常,Hibernate的配置文件以`hibernate.cfg.xml`的形式存在,它是项目初始化和连接数据库的...

    hibernate--5.Hibernate配置文件详解

    标题"hibernate--5.Hibernate配置文件详解"暗示我们将探讨的是Hibernate 5版本的配置细节。这个版本引入了一些新特性和改进,同时也保持了对前一版本的兼容性。配置文件是Hibernate的核心部分,它定义了与数据库的...

Global site tag (gtag.js) - Google Analytics