Hibernate JDBC 连接
来源:互联网 发布:软件测试员工资 编辑:程序博客网 时间:2024/05/21 18:50
通常你希望org.hibernate.SessionFactory
来为你创建和缓存(pool)JDBC 连接。如果你采用这种方式,只需要如下例所示那样,打开一个 org.hibernate.Session:
Session session = sessions.openSession(); // open a new Session
一旦你需要进行数据访问时,就会从连接池(connection pool)获得一个 JDBC 连接。
为了使这种方式工作起来,我们需要向 Hibernate 传递一些 JDBC 连接的属性。所有 Hibernate 属性的名字和语义都在org.hibernate.cfg.Environment
中定义。我们现在将描述 JDBC 连接配置中最重要的设置。
如果你设置如下属性,Hibernate 将使用 java.sql.DriverManager
来获得(和缓存)JDBC 连接:
Hibernate JDBC 属性
但 Hibernate 自带的连接池算法相当不成熟。它只是为了让你快些上手,并不适合用于产品系统或性能测试中。 出于最佳性能和稳定性考虑你应该使用第三方的连接池。只需要用特定连接池的设置替换 hibernate.connection.pool_size
即可。这将关闭 Hibernate 自带的连接池。例如,你可能会想用 C3P0。
C3P0 是一个随 Hibernate 一同分发的开源的 JDBC 连接池,它位于 lib
目录下。 如果你设置了 hibernate.c3p0.*
相关的属性,Hibernate将使用 C3P0ConnectionProvider
来缓存 JDBC 连接。如果你更原意使用 Proxool,请参考发行包中的 hibernate.properties
并到 Hibernate 网站获取更多的信息。
这是一个使用 C3P0 的 hibernate.properties
样例文件:
hibernate.connection.driver_class = org.postgresql.Driverhibernate.connection.url = jdbc:postgresql://localhost/mydatabasehibernate.connection.username = myuserhibernate.connection.password = secrethibernate.c3p0.min_size=5hibernate.c3p0.max_size=20hibernate.c3p0.timeout=1800hibernate.c3p0.max_statements=50hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
为了能在应用程序服务器(application server)中使用 Hibernate,应当总是将 Hibernate 配置成从注册在 JNDI 中的Datasource
处获得连接,你至少需要设置下列属性中的一个:
Hibernate 数据源属性
InitialContextFactory
类(可选)hibernate.connection.username数据库用户(可选)hibernate.connection.password数据库密码(可选)这是一个使用应用程序服务器提供的 JNDI 数据源的 hibernate.properties
样例文件:
hibernate.connection.datasource = java:/comp/env/jdbc/testhibernate.transaction.factory_class = \ org.hibernate.transaction.JTATransactionFactoryhibernate.transaction.manager_lookup_class = \ org.hibernate.transaction.JBossTransactionManagerLookuphibernate.dialect = org.hibernate.dialect.PostgreSQLDialect
从 JNDI 数据源获得的 JDBC 连接将自动参与到应用程序服务器中容器管理的事务(container-managed transactions)中去。
任何连接(connection)属性的属性名都要以 "hibernate.connnection
" 开头。例如,你可能会使用hibernate.connection.charSet
来指定 charSet 连接属性。
通过实现 org.hibernate.connection.ConnectionProvider
接口,你可以定义属于你自己的获得JDBC连接的插件策略。通过设置hibernate.connection.provider_class
,你可以选择一个自定义的实现。
- hibernate jdbc连接
- Hibernate获取JDBC连接
- Hibernate JDBC 连接
- Jdbc/Hibernate连接Oracle 、 MySQL
- JDBC与Hibernate连接池
- hibernate连接与JDBC连接的区别
- Hibernate连接和Jdbc连接区别
- Hibernate入门04 - 提供JDBC连接
- Hibernate入门04 - 提供JDBC连接
- Hibernate JDBC和连接(connection)属性
- JDBC Hibernate 连接数据库连接字符串大全
- JDBC Hibernate 连接数据库连接字符串大全
- 从Hibernate中获得JDBC连接
- 从hibernate中获取jdbc连接
- 从Hibernate中获得JDBC连接
- Hibernate------>JDBC第一个案例(连接数据库)
- Hibernate------>JDBC--->优化版连接(jdbcUtil工具)
- jdbc、hibernate、mybatis连接数据库步骤
- 使用PLSQL连接远程的Oracle数据库
- poj Optimal Keypad
- Linux netstat命令详解
- Android Audio System线性音量和对数音量的转换
- android 常用sensor
- Hibernate JDBC 连接
- 连接点
- Android 解析后台返回为Json数据的简单例子!!!
- 防止UI界面被输入法遮挡(画面随输入法自适应)
- Redhat.Enterprise.Linux 6.1无效或者缺失授权证书解决办法
- 实现组件(一)
- memmove 和memcpy
- javascript 获取css 属性
- hibernate基本值类型