java web 中hibernate.cfg.xml文件放在哪里

如题所述

只要你能找到,放在哪里都可以。sessionFactory = new Configuration().configure("WEB-INF/hibernate.cfg.xml").buildSessionFactory();

hibernate实现有两种配置,xml配置与注释配置。
一、hibernate.cfg.xml
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<session-factory>
<!--url信息-->
<property name="connection.url">jdbc:mysql://localhost:3306/webases</property>
<!--数据库方言信息-->
<property name="dialect">org.hibernate.dialect.MySQLDialect</property>
<!--用户名-->
<property name="connection.username">root</property>
<!--密码-->
<property name="connection.password">123456</property>
<!--数据库驱动信息-->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<!--指定Hibernate映射文件路径-->
<mapping resource="com/Hibernate/order.hbm.xml" />
</session-factory>
</hibernate-configuration>

二、注解方式:
首先是需要加入4个jar包:hibernate-commons-annotations.jar 、 hibernate-annotations.jar、ejb3-persistence.jar 、 hibernate-jpa-2.0-api-1.0.1.Final.jar
不同的地方:
(1):hibernate.hbm.xml 文件中把引用:xxx.hbm.xml改为引用实体类:
即把:<mapping resource="com/wsw/hibernate/model/Order.hbm.xml"/>
改为:<mapping class="com.wsw.hibernate.model.Order" />
(2):获取SessionFactory方式发生了变化:
即:由SessionFactory sf = new Configuration().configure().buildSessionFactory()
改为:SessionFactory sf = new AnnotationConfiguration().configure().buildSessionFactory()
(3):注解方式不需要在xxx.hbm.xml把实体类与表进行映射。而采用在实体类中进行注解。
注意:(1):如果实体类属性名与表字段名不一致的时候,要么都注解在属性前,要么都注解在get方法前。不能部分注解在属性前,部分注解在方法前。
(2):如果实体类属性名与表字段名一致的时候,可以部分注解在属性前,部分注解在方法前。
(3):如果在实体类中某些属性不注解:(属性和get都不写注解),默认为表字段名与实体类属性名一致。
(4):如果实体类的某个成员属性不需要存入数据库中,使用@Transient 进行注解就可以了。即类似于:(xxx.hbm.Xml配置中的某些字段不写(就是不需要对这个成员属性进行映射))
(5):表名称可以在实体类前进行注解。
(6):所有这些注解在:javax.persistence包下。而不是在hibernate包中。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2016-11-11
放在哪儿都行。只要在程序中引用就行了。
如果是spring+hibernate的话,就在spring的配置xml中引入hibernate.cfg.xml
如果是纯碎的hibernate的话,直接在web.xml中引入这个hibernate.cfg.xml

一般的情况下,这个文件放在源码的src目录下,让它的编译文件直接出现在class路径下。本回答被提问者和网友采纳

hibernate.cfg.xml放在哪
只要你能找到,放在哪里都可以。sessionFactory = new Configuration().configure("WEB-INF\/hibernate.cfg.xml").buildSessionFactory();hibernate实现有两种配置,xml配置与注释配置。一、hibernate.cfg.xml <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-\/\/Hibe...

hibernate配置文件在哪
1)一个总体用的hibernate.cfg.xml,比如设置数据库用户名、密码、常量、映射文件位置等等信息的地方,这个文件整个hibernate项目只用一个就可;2)每个实体映射都有一个***.hbm.xml文件,即实体映射文件,里面写的是数据库和实体类的映射配置,包含关系映射或继承映射等等;比如Student.java实体类就用Stud...

eclipse能生成hibernate.cfg.xml,却生成不了对应类的.hbm.xml
这与你选择创建的路径有关,你要把你的创建的.hbm.xml,放在bjsxt\/src\/Student.hbm.xml。简单来说,就是在src下直接建java文件就可以生成XML文件。建议你在src目录下创建一个JAVA文件,然后点生成hbm.xml文件。这样就OK了。这样之后点finish就成功创建了。但是如果你先建了source folder或package,这时...

...\/hibernate.cfg.xml not found at org.hibernate.util.ConfigHelper.g...
好吧,它保存的提示是没找到hibernate的cfg文件 你看看,你那个xml文件是不是放在src目录下了??不是就移过去。另外,看看你hibernate的那个配置文件是不是叫 hibernate.cfg.xml,如果不是,请改成这个

hibernate的配置文件中mapping节点的class和resource的区别
Hibernate的基本配置文件有两种:hibernate.cfg.xml和xxx.hbm.xml文件。 前者包含了Hibernate与数据库的基本连接信息,在Hibernate工作的初始阶段,这些信息被先后加载到Configuration和SessionFactory实例; 后者包含了Hibernate的基本映射信息,即系统中每一个类与其对应的数据库表之间的关联信息, 在Hibernate...

class path resource [hibernate.cfg.xml] cannot be resolved to URL...
你这不是hibernate把,你是hibernate与Spring的整合吧,你把sessionfactory配置在了applicationContext.xml中之后,应该在web.xml中配置Spring的配置文件查找路径,<context-param> contextConfigLocation classpath:com\/**\/**\/resource\/spring\/app*.xml<!--从该路径寻找配置文件--> <\/context-param> class...

spring beans.xml 问题
hibernate的配置文件hibernate.cfg.xml可以交给spring管理,spring的配置文件在tomcat加载项目时从web.xml中读取的 <!-- spring begin --> <filter> <filter-name>encodingFilter<\/filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter<\/filter-class> <init-param> encoding ...

如何安装并使用hibernate tools
New->Other->Hibernate->Hibernate Configuration File(cfg.xml),在弹出的窗口中选择Next ,进入到下面的选项中。driverClassName="com.mysql.jdbc.Driver"url="jdbc:mysql:\/\/localhost:3306\/histopdb_release?autoReconnect=true&autoReconnectForPools=true&useunicode=true&characterEncoding=utf8"4、选择...

让别人做了一个java的程序,是基于J2EE的管理系统,说是用了servlet架构...
首先,你需要拿到程序的源代码(源文件)才能知道关于这个程序的详细信息。其次,你拿到源文件后,打开源文件,在文件目录下寻找或搜索WebRoot目录或WebContent目录,然后双击此目录,找到WEB-INF目录,然后在WEB-INF目录下会找到一个web.xml文件,在文件上点击右健,选择用记事本打开。再次,打开后,查看...

hibernate二级缓存什么时候用
正确的办法是除了以上的配置外还应该配置每一个vo对象的具体缓存策略,在影射文件中配置。例如: <hibernate-mapping> <class name="com.sobey.sbm.model.entitySystem.vo.DataTypeVO" table="dcm_datatype"> <cache usage="read-write"\/> <id name="id" column="TYPEID" type="java.lang.Long"> <ge...

相似回答