Hibernate基础配置

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.MySQLDialect
hibernate.connection.driver_class com.mysql.jdbc.Driver
hibernate.connection.url jdbc:mysql:/**////test
hibernate.connection.username root
hibernate.connection.password
  这是一个连接MySQL数据库的例子,很直观,不必解释,不同的数据库的连接参数模板中全部给出了。

hibernate.connection.pool_size 1

hibernate.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.MySQLDialect
hibernate.connection.datasource mypool
hibernate.connection.provider_class net.sf.hibernate.connection.DatasourceConnectionProvider

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

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

hibernate.dialect net.sf.hibernate.dialect.MySQLDialect
hibernate.connection.datasource mypool
hibernate.connection.provider_class net.sf.hibernate.connection.DatasourceConnectionProvider
hibernate.jndi.class weblogic.jndi.WLInitialContextFactory
hibernate.jndi.url t3://servername:7001/

最后,如果你需要在EJB或者JTA中使用Hibernate,需要取消下行的注释:

hibernate.transaction.factory_class net.sf.hibernate.transaction.JTATransactionFactory

时间: 2024-08-07 23:32:00

Hibernate基础配置的相关文章

路由器基础配置及数据传输浅析

在现今网络飞速发展的时代中,路由器有着举足轻重的作用.因为路由器作为网络层中的中继系统,提供着一个在第三层网络间数据的路由选择与转发功能.因此,路由器的功能.作用及基础配置都是作为IT行业成员的我们必须熟练掌握的. 以下,我们将从两方面对路由器作一个简要的分析:即如何在实验中搭建一个最简单的网络环境,并在其配置中常会碰到的情况及相对应的解决方法:以及对在网际中的数据传输中应用不同的数据封装协议(HDLC与PPP).链路压缩进行传输速率的比较. 路由器配置及网络搭建 要组建一个网络,就须在应用中对

第七章 Hibernate 常用配置(hibernate.cfg.xml)

<!--声明Hibernate配置文件的开始 --> <hibernate-configuration> <!--表明以下的配置是针对session-factory配置的,SessionFactory是Hibernate中的一个类,这个类主要负责保存HIbernate的配置信息,以及对Session的操作 --> <session-factory> <!--配置数据库的驱动程序 --> <property name="hibern

ssh-SSH整合,hibernate注解配置,无hbm.xml,映射出现问题

问题描述 SSH整合,hibernate注解配置,无hbm.xml,映射出现问题 java实体类代码: package cn.com.car.base.entity; import java.io.Serializable; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; i

浅析路由器基础配置与数据传输

在现今网络飞 速发展的时代中,路由器有着举足轻重的作用.因为路由器作为网络层中的中继系统,提供着一个在第三层网络间数据的路由选择与转发功能.因此,路由器的功能.作用及基础配置都是作为IT行业成员的我们必须熟练掌握的.路由器配置及网络搭建要组建一个网络,就须在应用中对网络结构要有一个很清晰的了解,而在物理上的正确连接.路由器中的分配IP地址.广域网 路由协议的选择及局域网的接入等都是在实际应用中必需十分注意的.以下则是我们 经过实验总结出来的使整个网络运行起来的三个主要方面.一.网间的物理连接在我

mvc注解-spring MVC注解 + hibernate +jpa配置 出错 具体如下

问题描述 spring MVC注解 + hibernate +jpa配置 出错 具体如下 这个是错误 No unique bean of type [javax.persistence.EntityManagerFactory] is defined: expected single bean but found 0 下面为XML配置文件 web.xml 导入hibernate <filter> <filter-name>openEntityManagerInViewFilter&

java-关于hibernate的配置命名问题求解答

问题描述 关于hibernate的配置命名问题求解答 一直报org.hibernate.PropertyNotFoundException: Could not find a getter for name in class cn.zmj.bean.Service 我感觉我的命名并没有错 User.hbm.xml: <set name="service" cascade="all" lazy="true"> <key colum

spring mvc-springmvc spring hibernate 怎么配置连接两个数据库

问题描述 springmvc spring hibernate 怎么配置连接两个数据库 persistent.xml配置 <?xml version="1.0" encoding="UTF-8"?> <persistence xmlns="http://java.sun.com/xml/ns/persistence" version="2.0"> <persistence-unit name=&q

hibernate 怎么配置oracle的id生成策略

问题描述 hibernate 怎么配置oracle的id生成策略 之前使用hibernate连接mysql,后来需要转为oracle. 原来: mysql的id设置为自增, hibernate中对应的自增策略 @GeneratedValue(strategy=GenerationType.IDENTITY) private int userId; 现在: oracle中的id使用序列加触发器实现了插入前自增 但是现在hibernate中应该怎么配置? 解决方案 @GeneratedValue(s

oracle双机热备,hibernate的配置以及listener.ora和tnsname.ora的配置

问题描述 oracle双机热备一台IP:172.16.0.1,虚拟ip:10.10.10.10.另一台IP:172.16.0.2,虚拟IP:10.10.10.11.请问:listener.ora和tsnnames.ora应该如何配置,以及hibernate如何配置.高手请赐教.调好立刻给分. 解决方案 解决方案二:关注....