- 浏览: 1325518 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (896)
- spring4 (14)
- hibernate3 (26)
- spring2 (35)
- struts2 (55)
- struts1 (15)
- 设计模式 (15)
- java (172)
- mybatis3 (11)
- sql (17)
- mysql (13)
- jbpm (10)
- J2EE (45)
- tools (29)
- js (83)
- 数据结构 (13)
- Html (26)
- web (22)
- flex (33)
- Oracle (57)
- linux (49)
- 算法 (6)
- 其它 (12)
- easyui (1)
- bootstrap (13)
- xml (2)
- tomcat (1)
- redis (10)
- activemq (2)
- webservice (11)
- maven (2)
- springboot (1)
- ubuntu (1)
- python (14)
- rocketmq (1)
- springcloud (10)
- opencv (1)
最新评论
-
mike_eclipse:
Hashtable是线程不安全的吗?好像是线程安全的吧?
多线程之集合类 -
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
lodop打印控件 -
xingcxb:
经过测试,假的,依旧会出现中文乱码!!!!store方法里面采 ...
java 读写Properties文件,不会出现中文乱码 -
tiger20111989:
...
Spring注解方式管理事务 -
zw7534313:
...
js 文字上下滚动 无间断循环显示
使用C3P0的properties样例代码:
hibernate.connection.driver_class = org.postgresql.Driver
hibernate.connection.url = jdbc:postgresql://localhost/mydatabase
hibernate.connection.username = myuser
hibernate.connection.password = secret
hibernate.c3p0.min_size=5
hibernate.c3p0.max_size=20
hibernate.c3p0.timeout=1800
hibernate.c3p0.max_statements=50
hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
、Hibernate缓存属性
<prop key="hibernate.cache.provider_class">org.hibernate.cache.EhCacheProvider</prop>
<prop key="hibernate.cache.use_query_cache">true</prop>
属性名 用途
hibernate.cache.provider_class
自定义的CacheProvider的类名.取值classname.of.CacheProvider
hibernate.cache.use_minimal_puts
以频繁的读操作为代价, 优化二级缓存来最小化写操作. 在Hibernate3中,这个设置对的集群缓存非常有用, 对集群缓存的实现而言,默认是开启的.取值true|false
hibernate.cache.use_query_cache
允许查询缓存, 个别查询仍然需要被设置为可缓存的.取值true|false
hibernate.cache.use_second_level_cache
能用来完全禁止使用二级缓存. 对那些在类的映射定义中指定<cache>的类,会默认开启二级缓存.取值true|false
hibernate.cache.query_cache_factory
自定义的实现QueryCache接口的类名, 默认为内建的StandardQueryCache.取值classname.of.QueryCache
hibernate.cache.region_prefix
二级缓存区域名的前缀.取值prefix
hibernate.cache.use_structured_entries
强制Hibernate以更人性化的格式将数据存入二级缓存.取值true|false
- <bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
- destroy-method="close">
- <property name="driverClass" value=" oracle.jdbc.driver.OracleDriver "/>
- <property name="jdbcUrl" value=" jdbc:oracle:thin:@localhost:1521:ora9i "/>
- <property name="user" value="admin"/>
- <property name="password" value="1234"/>
- </bean>
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="com.mysql.jdbc.Driver"/>
<property name="jdbcUrl" value="jdbc:mysql://localhost:3306/zhangwei"/>
<property name="user" value="root"/>
<property name="password" value="pass"/>
</bean>
[org.hibernate.jdbc.ConnectionManager] - transaction completed on session with on_close connection release mode; be sure to close the session to release JDBC resources!???
hibernate3使用c3p0连接池,没有配置事务,但是好象有默认的配置.
DEBUG [org.springframework.orm.hibernate3.HibernateTemplate] - Eagerly flushing Hibernate session??
INFO [org.hibernate.transaction.TransactionManagerLookupFactory] - No TransactionManagerLookup configured (in JTA environment, use of read-write or transactional second-level cache is not recommended)??
Hibernate关于JDBC连接管理的旧(2.x)行为是,Session
在第一次需要的时候获取一个连接,在session关闭之前一直会持有这个连接。Hibernate引入了连接释放的概念,来告诉session如何处理它的JDBC连接。注意,下面的讨论只适用于采用配置ConnectionProvider
来提供连接的情况,用户自己提供的连接与这里的讨论无关。通过org.hibernate.ConnectionReleaseMode
的不同枚举值来使用不用的释放模式:
-
ON_CLOSE
- 基本上就是上面提到的老式行为。Hibernate session在第一次需要进行JDBC操作的时候获取连接,然后持有它,直到session关闭。 -
AFTER_TRANSACTION
- 在org.hibernate.Transaction
结束后释放连接。 -
AFTER_STATEMENT
(也被称做积极释放) - 在每一条语句被执行后就释放连接。但假若语句留下了与session相关的资源,那就不会被释放。目前唯一的这种情形就是使用org.hibernate.ScrollableResults
。
hibernate.connection.release_mode
配置参数用来指定使用哪一种释放模式。可能的值有:
-
auto
(默认) - 这一选择把释放模式委派给org.hibernate.transaction.TransactionFactory.getDefaultReleaseMode()
方法。对JTATransactionFactory来说,它会返回ConnectionReleaseMode.AFTER_STATEMENT;对JDBCTransactionFactory来说,则是ConnectionReleaseMode.AFTER_TRANSACTION。很少需要修改这一默认行为,因为假若设置不当,就会带来bug,或者给用户代码带来误导。 -
on_close
- 使用 ConnectionReleaseMode.ON_CLOSE. 这种方式是为了向下兼容的,但是已经完全不被鼓励使用了。 -
after_transaction
- 使用ConnectionReleaseMode.AFTER_TRANSACTION。这一设置不应该在JTA环境下使用。也要注意,使用ConnectionReleaseMode.AFTER_TRANSACTION的时候,假若session 处于auto-commit状态,连接会像AFTER_STATEMENT那样被释放。 -
after_statement
- 使用ConnectionReleaseMode.AFTER_STATEMENT。除此之外,会查询配置的ConnectionProvider
,是否它支持这一设置((supportsAggressiveRelease()
))。假若不支持,释放模式会被设置为ConnectionReleaseMode.AFTER_TRANSACTION。只有在你每次调用ConnectionProvider.getConnection()
获取底层JDBC连接的时候,都可以确信获得同一个连接的时候,这一设置才是安全的;或者在auto-commit环境中,你可以不管是否每次都获得同一个连接的时候,这才是安全的。
- hibernate_ehcache.rar (379.7 KB)
- 下载次数: 15
发表评论
-
hibernate Search
2010-10-15 10:09 1408hibernate Search 使用过lucene的人都 ... -
org.hibernate.LazyInitializationException: could not initialize proxy - no Sessi
2010-09-10 15:57 20191.设置里 lazy = "false" ... -
Hibernate数据检索策略
2010-08-09 08:52 1224Hibernate数据检索策略: Hiberna ... -
Java、hibernate、sql类型对照
2010-08-09 08:48 1501基本值类型: Java基本类型、对应的Hibernate映射 ... -
Hibernate事务隔离级别
2010-08-09 08:46 6270Hibernate事务隔离级别: 隔离级别 ... -
Hibernate数据检索策略
2010-08-06 15:58 1346Hibernate数据检索策略:Hibernate的数据检索策 ... -
生成model类的serialVersionUID
2010-06-25 16:36 1126生成model类的serialVersionUID: 在命令 ... -
spring 与 hibernate Annotation配置(entry)
2010-06-13 16:53 2040(5)TCompanyInfo.java import ... -
Hibernate的复杂用法HibernateCallback
2010-06-13 09:00 1139HibernateTemplate还提供一种更加灵活的方式来操 ... -
hibernate3与spring2零配置
2010-06-11 15:19 1412ssh除了xml配置之外,还可以用标注式配置: (1)sp ... -
hibernate3 annotation 的实例 3 (one to many)
2010-03-24 15:19 2106http://bigcat.easymorse.com/?p= ... -
hibernate annotation spring
2010-03-24 08:35 1096http://2625962-163-com.iteye.co ... -
hibernate3 annotation 的实例 2
2010-03-23 15:51 1814实例二:(主键sequence策 ... -
hibernate3 annotation的实例
2010-03-23 14:55 1996实例一:一个对象的增删改查: import java. ... -
query specified join fetching, but the owner of the fetched association
2010-03-04 09:57 1973错误原因分析: 首先看HQL语句: ... -
illegal attempt to dereference collection
2010-03-04 09:12 3700首先说一句:是版本的问题! 我写的hql为: from D ... -
深化学习hibernate
2010-01-29 14:10 11293.4.5. 查询语言中 ... -
查询hibernate 部分数据
2010-01-29 10:56 1408hibernate查出来人部分数据基本上是数组,有的时候需要对 ... -
解决hibernate中的lazy的问题
2010-01-28 11:38 1414<many-to-one name="TCu ... -
hibernate 批量添加
2009-12-29 13:37 2066public void createRolePermissio ...
相关推荐
Hibernate通过DataSource接口与连接池进行交互,配置连接池主要是配置Hibernate的`hibernate.c3p0`或`hibernate.connection.provider_class`等相关属性,选择合适的连接池实现,如C3P0、DBCP、Druid、HikariCP等。...
### Hibernate 连接池配置详解 #### 一、概述 在使用Hibernate进行数据库操作时,合理配置连接池是非常重要的一步。连接池可以帮助我们更高效地管理数据库连接资源,避免频繁创建与销毁数据库连接带来的性能开销。...
数据库连接池是应用程序管理和维护数据库...总的来说,合理配置和使用数据库连接池是优化Hibernate应用性能的关键步骤之一,它有助于提升系统整体的运行效率,减少资源浪费,同时也便于监控和管理数据库连接的状态。
**标题:“Hibernate配置连接池整理”** 在Java开发中,数据访问层的性能优化往往离不开高效的数据连接管理,而连接池就是实现这一目标的关键技术。Hibernate作为一款强大的对象关系映射(ORM)框架,它提供了与...
以下是对Hibernate配置连接池的三种常见方法的详细说明: 1. **C3P0连接池配置** C3P0是一个开源的JDBC连接池,适用于Hibernate。配置C3P0连接池主要涉及在`hibernate.cfg.xml`中添加相应的属性。例如: ```xml ...
在探讨如何在Hibernate框架中配置C3P0连接池之前,我们先简要了解下Hibernate与C3P0的基本概念。 Hibernate是一个开放源代码的对象关系映射(ORM)框架,它实现了Java对象与数据库表之间的映射,允许开发人员以面向...
在上述配置中,我们通过`hibernate.proxool.properties`指定了Proxool的配置文件路径,`hibernate.proxool.pool_alias`设置了连接池的别名,这个别名需要与Proxool配置文件中的alias一致。 接下来,我们需要创建...
本篇文章将详细介绍Hibernate支持的四种常用连接池及其配置。 1. **C3P0连接池**: C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Hibernate中配置C3P0,需要在`...
标题提到的“数据库连接池以及hibernate对各种连接池的整合”是指在Java应用中,特别是使用Hibernate作为持久层框架时,如何集成和配置不同的数据库连接池技术。以下是一些主要的开源数据库连接池及其特点: 1. **...
Hibernate配置** 在Hibernate中,我们通过`hibernate-cfg.xml`配置文件来设置连接池。以下是一个基本的配置示例: ```xml <hibernate-configuration> <property name="hibernate.dialect">org.hibernate....
《Hibernate2与Hibernate3连接池配置详解》 在Java的持久层框架中,Hibernate是一个广泛使用的ORM(对象关系映射)工具,它允许开发者将数据库操作转化为对Java对象的操作,极大地提高了开发效率。然而,为了优化...
- 当未配置任何连接池时,Hibernate会使用其内建的连接池。然而,这个内建连接池的性能并不理想,且可能存在一些已知的BUG。例如,有些开发者在MySQL环境下遇到过连接悬空的问题。因此,官方建议只在开发环境中使用...
C3P0就是一种广泛使用的第三方JDBC连接池实现,它被集成在Hibernate框架中,可以便捷地进行配置。 **1. 为什么选择C3P0连接池** Hibernate自带的连接池算法并不成熟,主要适用于快速开发和学习,而不适合在生产...
标题中的“Hibernate连接池的三种配置方式”指的是Hibernate框架中常用的三种数据库连接池实现,分别是:DBCP (BasicDataSource),C3P0,以及Proxool。这些连接池的目的是管理和优化数据库连接的创建、分配和回收,...
如果由于某些原因需要使用DBCP,官方建议通过JNDI(Java Naming and Directory Interface)方式进行配置,以避免直接在Hibernate配置文件中使用。 默认情况下,Hibernate会使用一个内置的连接池。尽管简单易用,但...
2. 配置Hibernate属性:在Hibernate的配置文件(hibernate.cfg.xml)中,需要定义连接池的相关参数。例如: ```xml <property name="hibernate.connection.provider_class">org.hibernate.connection....
**(2)Hibernate配置** 在`Hibernate.hbm.xml`配置文件中,添加Proxool相关的配置项。例如: ```xml <property name="hibernate.proxool.pool_alias">pool <property name="hibernate.proxool.xml">ProxoolConf....
### Hibernate 查询方式与批处理及连接池配置详解 #### 一、Hibernate 查询方式介绍 Hibernate 是一款优秀的 ORM(对象关系映射)框架,它能够极大地简化数据库操作,并提供多种查询方式来满足不同的业务需求。 #...