hibernate 二级缓存配置

来源:互联网 发布:网络主播涉黄视频 编辑:程序博客网 时间:2024/05/13 23:51
1.配置hbm.xml

在class节点下面添加 <cache usage="read-write"/>(读写) 或者  <cache usage="read-only"/>(只读)

如:
<class name="com.hxy.portal.poststext.JforumPostsText" table="jforum_posts_text" catalog="jforum_bbs">
  <cache usage="read-write"/>
  <id name="postId" type="java.lang.Integer">
      <column name="post_id" />
      <generator class="identity" />
  </id>
  <property name="postText" type="java.lang.String">
      <column name="post_text" length="65535" />
  </property>
  .....
       </class>

2.配置spring文件
//打开hibernate二级缓存
hibernate.cache.use_sencond_levl_cache=true
//设置缓存加载类
hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider
//设置查询缓存
hibernate.cache.use_query_cache=true

具体配置:

<bean id="sf_id"
  class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
  <property name="dataSource" ref="dataSource"/>
 
  <property name="hibernateProperties">
   <value>
   <!-- 配置hibernate属性 如第一个方言等-->
      <!--
    1.hibernate.dialect Hibernate SQL方言  表示连接那种数据库
    2.hibernate.query.substitutions
     你可以使用hibernate.query.substitutions定义新的Hibernate查询短语。比如说:
   hibernate.query.substitutions true 1, false 0
    这个配置意思是当你在Hibernate里面输入true的时候,Hibernate会转化为1插入数据库,
    当你在Hibernate里面输入false的时候,Hibernate会转化为0插入数据库,后面的Y,N同理。
    对于某些数据库,例如Oracle来说,没有boolean数据类型,就是采用1代表true,0代表false,
    因此使用这个配置在Hibernate里面直接用true/false会非常直观。
   hibernate.query.substitutions toLowercase=LOWER
    这可以让你重新命名SQL的LOWER函数。
    3.hibernate.jdbc.batch_size 一个非零值,会开启Hibernate使用JDBC2的批量更新功能取值. 建议值在 5 和 30之间。
    4.hibernate.cache.provider_class 指定一个自定义的CacheProvider缓存提供者的类名.取值. classname.of.CacheProvider
    5.hibernate.cache.provider_configuration_file_resource_path hibernate缓存文件路径
        
         6.hibernate.cache.use_sencond_levl_cache打开hibernate二级缓存
         7.update如果数据库中不存在表则生成,存在如果有增加自动增加,开发使用update,生产一般不设置
        
          -->
Java代码 复制代码 收藏代码
  1.   hibernate.hbm2ddl.auto   
  2.   hibernate.dialect=org.hibernate.dialect.MySQLInnoDBDialect   
  3.   hibernate.query.substitutions=true 1false 0  
  4.   hibernate.jdbc.batch_size=20  
  5.   hibernate.hbm2ddl.auto=update   
  6.   hibernate.show_sql=true  
  7.      
  8.   hibernate.cache.use_sencond_levl_cache=true  
  9.   hibernate.cache.provider_class=org.hibernate.cache.EhCacheProvider   
  10.   hibernate.cache.use_query_cache=true  
  11.   </value>   
  12.   <!-- hibernate.cache.provider_configuration_file_resource_path   
  13.    指定缓存文件路径和文件名   
  14.    -->   
  15.  </property>   
  16.     
  17.  <!-- hibernate配置文件所在地 便于spring加载hibernate配置文件 -->   
  18.  <property name="mappingDirectoryLocations">   
  19.    <list>   
  20.     <value>classpath:/com/hxy/portal/hibernate</value>   
  21.    </list>   
  22.  </property>     
  23. </bean>  
原创粉丝点击