Hibernate支持第三方的联接池,官方推荐的联接池是C三P零,Proxool,以及DBCP。
在配备联接池时急需注意的有3点:
1、Apche的DBCP在Hibernate2中受支持,但在Hibernate3中已经不再推荐施用,官方的解释是这个联接池存在缺陷。如其你由于某种原因急需在Hibernate3中运用DBCP,提议采取JNDI模式。
2、默许情况下(即没配备联接池的情况下),Hibernate能采取内建的联接池。但这个联接池性能不佳,且存在诸多BUG(写稿人就曾在Mysql环境停被八小时联接悬空问题困扰过),因而官方也只是提议仅在开发环境停应用。
3、Hibernate二和Hibernate三的定名空间有所变更。比如,配备C三P零时的provider_class有Hibernate2环境停应用net.sf.hibernate.connection.C三P零ConnectionProvider,在Hibernate3环境停运用org.hibernate.connection.C三P零ConnectionProvider。
下部是Hibernate环境下几种常见的联接池配备:
一.Hibernate默许联接池
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/schoolproject
true
UTF-八
root
true
org.hibernate.dialect.MySQLDialect
二.C三P0联接配备
com.mysql.jdbc.Driver
jdbc:mysql://localhost:3306/schoolproject
true
UTF-八
root
org.hibernate.connection.C三P零ConnectionProvider
20
五
120
100
120
二
true
org.hibernate.dialect.MySQLDialect
三.proxool联接池
(一) 先写proxool的配置文件,文件名:proxool.xml(通常放在与hibernate.cfg.xml资料在同一个索引中)本例配备的是MYSQL数据库,数据库的名字为schoolproject
DBPool
jdbc:mysql://localhost:3306/schoolproject?useUnicode=true&characterEncoding=UTF八
com.mysql.jdbc.Driver
90000
20
五
100
十
(二)配备hibernate.cfg.xml资料
org.hibernate.connection.ProxoolConnectionProvider
DBPool
proxoolconf.xml
true
org.hibernate.dialect.MySQLDialect
(一) hibernate.connection.provider_class定义Hibernate的联接加载种,这边Proxool联接池是用这个,不同的联接池有不同的加载种,可以查阅Hibernate文档获取相干信息 (二) hibernate.proxool.pool_alias这边乃是用我们上边谈到的联接池的别号 (三) hibernate.proxool.xml是向Hibernate宣言联接池的配置文件位置,可以用相对或绝对途径,用相对路径时要注意一定在要Path范围内!否则会抛出异常。 (四) dialect是宣言SQL话语的白话 (五) show_sql定义是不是展示Hibernate生成的SQL语言,通常在调试阶段设为true,完成后再改为false,这么有益于调试。 (六) 资源文件照射
四.JNDI联接池
数据源已经由应用服务配备美(如Web服务器),Hibernate亟需做的只是透过JNDI名查寻到此数据源。应用服务器将联接池对外展示为JNDI绑定数据源,它是javax.jdbc.Datasource种的一个范例。只要配备一个Hibernate资料,如:
view plaincopy to clipboardprint?
hibernate.connection.datasource=java:/comp/env/jdbc/schoolproject //JNDI名
hibernate.transaction.factory_class=org.hibernate.transaction.JTATransactionFactory
hibernate.transaction.manager_loopup_class = org.hibernate.transaction.JBossTransactionManagerLookup
hibernate.dialect=org.hibernate.dialect.MySQLDialect
本文来源:
我的异常网
Java Exception
Dotnet Exception
Oracle Exception
- 1490 - pl sql中如何处理异常
- 1491 - System.UnauthorizedAccessException:拒绝访问
- 1492 - System.UnauthorizedAccessException: 对注册表项 HKEY_CLASSES_ROOT/DataAccess.News 的访问被拒绝
- 1493 - 未处理的System.NotSupportedException类型的异常出现在 mscorlib.dll 中
- 1494 - Oracle is not available
- 1495 - ORA-00001:unique constraint(space) violated
- 1496 - ORA-00905: missing keyword’
- 1497 - ORA-01436: CONNECT BY loop in user data
- 1498 - Statspack分析结果错误
- 1499 - ORA-10662: Segment has long columns
- 1500 - oracle 查看系统定义异常的sql语句
- 1501 - ORA-01843: not a valid month
- 1502 - oracle有没有@@error的功能方法
- 1503 - java.net.NoRouteToHostException: No route to host
- 1504 - PLS-00201: 必须说明标识符
- 1505 - 安装oracle出错
- 1506 - ORA-00984列在此处不允许
- 1507 - ant编译大量文件时出现java.lang.OutOfMemoryError
- 1508 - java.lang.ClassCastException: java.lang.Integer
- 1509 - java异常机制