J2EE中Hibernate如何配置?

来源:北大青鸟飞迅校区|发布时间:2013-05-01 15:46:03

  Hibernate配置文件可以有两种格式,一种是hibernate.properties,另一种是hibernate.cfg.xml。后者稍微方便一些,当增加hbm映射文件的时候,可以直接在hibernate.cfg.xml里面增加,不必像hibernate.properties必须在初始化代码中加入。

  但不管怎么说,两种的配置项都是一样的,下面详细介绍:

  在Hibernate的src目录下有一个hibernate.properties模板,我们不必自己从头写,修改模板就可以了:)

  hibernate.query.substitutions true 1, false 0, yes 'Y', no 'N'

  这个配置意思是当你在Hibernate里面输入true的时候,Hibernate会转化为1插入数据库,当你在Hibernate里面输入false的时候,Hibernate会转化为0插入数据库,后面的Y,N同理。

  对于某些数据库,例如Oracle来说,没有boolean数据类型,就是采用1代表true,0代表false,因此使用这个配置在Hibernate里面直接用true/false会非常直观。

  hibernate.dialect net.sf.hibernate.dialect.MySQLDialecthibernate.connection.driver_class com.mysql.jdbc.Driverhibernate.connection.url jdbc:mysql:///testhibernate.connection.username roothibernate.connection.password

  这是一个连接MySQL数据库的例子,很直观,不必解释,不同的数据库的连接参数模板中全部给出了。

  hibernate.connection.pool_size 1hibernate.statement_cache.size 25

  这是Hibernate自带的连接池的配置参数,在默认情况下将采用。意义很直观,不多解释。

  只是提醒一点,Hibernate这个连接池是非常原始非常简单的连接池,如果你在项目中用Hibernate的话,建议你首选App Server的连接池,次选Hibernate带的DBCP连接池。自带的连接池应该做为末选。

  如果你采用DBCP连接池,除了要配置DBCP连接池以外,还需要取消掉下行的注释:

  hibernate.connection.provider_class net.sf.hibernate.connection.DBCPConnectionProvider

  其它的连接池同理。

  如果采用App Server的连接池,假设App Server连接池的DataSource的JNDI名称为“mypool”的话,配置应该如下:

  hibernate.dialect net.sf.hibernate.dialect.MySQLDialecthibernate.connection.datasource mypoolhibernate.connection.provider_class net.sf.hibernate.connection.DatasourceConnectionProvider

  其它参数就不必写了,因为已经在App Server配置连接池的时候指定好了。

  如果你不是在App Server环境中使用Hibernate,例如远程客户端程序,但是你又想用App Server的数据库连接池,那么你还需要配置JNDI的参数,例如Hibernate连接远程Weblogic上的数据库连接池:

  hibernate.dialect net.sf.hibernate.dialect.MySQLDialecthibernate.connection.datasource mypoolhibernate.connection.provider_class net.sf.hibernate.connection.DatasourceConnectionProviderhibernate.jndi.class weblogic.jndi.WLInitialContextFactoryhibernate.jndi.url t3://servername:7001/

上一篇:JDBC连接DB2数据库问题及解决方法?
下一篇:怎么用J2ME程序测试MIDlet的生命周期?

热门话题

招生热线: 4008-0731-86 / 0731-82186801

学校地址: 长沙市天心区团结路6号

Copyright © 2006 | 湖南大计信息科技有限公司 版权所有

湘ICP备14017520号-3

关注我们
在线咨询
嘿,我来帮您!