hibernate.cfg.xml在哪

如题所述

项目需要构建一个Java环境,使用Hibernate作为数据持久层,一兄弟按照网上的说法配置了hibernate,结果搞了几天都没搞好,总是报错“Could not find datasource”,最后还是我自己动手在自己机器上配个环境才引导他弄好。
要配好Hibernate首先的弄清楚Java在寻找hibernate.cfg.xml这个文件的时候在哪些目录中寻找,Java将在以下目录中寻找hibernate.cfg.xml这个文件:
webappsname/WEB-INF/classes/
TOMCATHOME/
TOMCATHOME/lib
所以我们的hibernate.cfg.xml务必放在webapp的WEB-INF/classes/目录下了,放在其他目录下都不是很合适。
另外就是关于hibernate.cfg.xml中的jdbc配置了,网上的说法各异,其实最简单的就是在hibernate.cfg.xml中直接使用jdbc配置了,如下:
<?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>
<property name=”hibernate.connection.driver_class”>com.mysql.jdbc.Driver</property>
<property name=”hibernate.connection.url”>jdbc:mysql://localhost/test</property>
<property name=”hibernate.connection.username”>root</property>
<property name=”hibernate.connection.password” />
<property name=”show_sql”>false</property>
<property name=”dialect”>org.hibernate.dialect.MySQLDialect</property>
<mapping resource=”hb/Cat.hbm.xml” />
</session-factory>
</hibernate-configuration>
更改其中的driverclass和connection.url、username、password和dialect,再添加一些mapping就可以了,需要注意的是property节点的name属性中最好在前面加上hibernate。有些文章说使用Tomcat的JNDI,不建议这么做。同时要注意的是在hibernate.cfg.xml不要同时使用datasource和连接字符串两种配置(那个兄弟非要使用两种配置结果来不成功),因为没有必要。
其实从部署的角度来看的话,就应该是这样的,首先在生产环境下,很多时候是没有办法拿到Tomcat的管理权限的是配不了JNDI的,而且要去配JNDI无形增加的部署的难度,在hibernate.cfg.xml中配置连接字符串就很方便部署(Hibernate要是像.net中那样支持连接字符串加密就好了)。hibernate.cfg.xml存放的位置也是一样的,放在WEB-INF/classes/目录下,部署的时候只要拷贝webapp整个目录就可以完成部署了。
网上的文章用来做参考最好,很多东西还得靠自己领会,特别是碰到问题的时候,尽心书不如无书嘛(也别太相信我写的,说不定那天不管用了。^_^)。
附:使用Tomcat JNDI 数据源配置方法
<?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>
<property name=”hibernate.connection.datasource”>java:comp/env/jdbc/odbcq</property>
<property name=”show_sql”>false</property>
<property name=”dialect”>org.hibernate.dialect.MySQLDialect</property>
<mapping resource=”hb/Cat.hbm.xml” />
</session-factory>
</hibernate-configuration>
参考博客:http://www.cnblogs.com/haquanwen/p/3812611.html
温馨提示:内容为网友见解,仅供参考
无其他回答

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...

请问一下,org.hibernate.cfg.Configuration这个类中为什么没有setListen...
所以,listener从以前的Configuration对象中被抽取了出来,变成了一个服务:EventListenerRegistry,所有的事件监听器都由这个服务产生,所以在hibernate4.1之后,你要注册监听器,要么还是在hibernate.cfg.xml里面配置,

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.MappingException错误
1 今 天做hibernate的时候遇到了一个很小的问题,后来根据错误提示发现原来是配置出现错误了。打开hibernate.cfg.xml配置文件,切换 到“configuration”界面,是不是发现又下角是“Mappings”中除了有配置文件DBName.hbm.xml还有其他的文件,也就是错 误提示的那个文件呢。2 至 于为什么出现那个文件,我...

hibernate 的configuration是接口吗 为什么可以用NEW来创建configuration...
configuration不是接口 它是专家编写的一个类 你可以再hibernate源文件中找到 Configuration configuration = new Configuration().configure("\/hibernate.cfg.xml");可以关联hibernate配置文件 做一些操作 比如将pojo类 生成数据库的表等

如何查看hibernate版本
首先,找到项目中jar包的引入位置,将hibernate.jar包拷到其他不影响项目的位置然后,右键hibernate.jar包,选择打开方式,选择解压缩方式,然后在解压后的文件依次打开文件夹顺序:

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

Hibernate官网下载
下载Hibernate后,你需要将其添加到你的Java项目中,并配置相关的配置文件。配置文件通常包括hibernate.cfg.xml和hbm.xml文件。hibernate.cfg.xml文件用于配置Hibernate的全局信息,如数据库连接信息、方言等;而hbm.xml文件则用于配置Java对象与数据库表之间的映射关系。一旦配置完成,你就可以在你的Java代码...

相似回答