hibernate.cfg.xml can't found! 急急急!

icer1013 2009-04-11 02:34:02
运行时出现如下错误,hibernate.cfg.xml 文件已经放在了各个目录下,但还是提示找不到文件,请问:
Configuration readWriteConfiguration = new Configuration();
readWriteConfiguration.configure("hibernate.cfg.xml");
这里找"hibernate.cfg.xml"文件的路径顺序是怎样的了?
如何处理如下错误?谢谢!
Exception in thread "main" java.lang.ExceptionInInitializerError
at com.rvi.hibernate.HibernateSessionMgr.initialize(HibernateSessionMgr.java:82)
at com.rvi.hibernate.HibernateSessionMgr.getInstance(HibernateSessionMgr.java:60)
at com.rvi.db.hibernate.HibernateUtil.getSessionMgr(HibernateUtil.java:98)
at com.rvi.db.hibernate.HibernateUtil.getSession(HibernateUtil.java:24)
at com.rvi.search.lucene.index.LuceneIndexUpdater.<init>(LuceneIndexUpdater.java:147)
at com.rvi.search.lucene.index.LuceneCompanyIndexUpdater.<init>(LuceneCompanyIndexUpdater.java:57)
at com.rvi.search.lucene.index.LuceneCompanyIndexUpdater.main(LuceneCompanyIndexUpdater.java:313)
Caused by: org.hibernate.HibernateException: hibernate.cfg.xml not found
at org.hibernate.util.ConfigHelper.getResourceAsStream(ConfigHelper.java:147)
at org.hibernate.cfg.Configuration.getConfigurationInputStream(Configuration.java:1287)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1309)
at com.rvi.hibernate.HibernateSessionMgr.loadJndiDataSources(HibernateSessionMgr.java:346)
at com.jigsaw.commons.utility.spring.ApplicationContextProvider.initFromClasspath(ApplicationContextProvider.java:68)
at com.rvi.hibernate.HibernateSessionMgr.initialize(HibernateSessionMgr.java:76)
... 6 more
...全文
281 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxalxpks 2009-04-11
  • 打赏
  • 举报
回复
映射 文件 CorpAccount.hbm.xml 找不到得话 你看一下 路径配对了么,在 hibernate.cfg.xml 里要配上映射文件CorpAccount.hbm.xml的路径的, 如:<mapping resource="com/../../CorpAccount.hbm.xml"/> 路径是否正确
ben0759 2009-04-11
  • 打赏
  • 举报
回复
Configuration readWriteConfiguration = new Configuration();
readWriteConfiguration.configure("hibernate.cfg.xml");

这样他会先找根目录下的文件。
icer1013 2009-04-11
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 cxalxpks 的回复:]
只要放一个在 src 下应该就可以了,放在src下的话 只要readWriteConfiguration.configure()就行了,具体寻找路径的话要看 源码了。。
[/Quote]

刚才在“open run dialog”里面有添加了一个文件夹,现在两种写法都换了一种错误如下:

Exception in thread "main" java.lang.ExceptionInInitializerError
at com.rvi.hibernate.HibernateSessionMgr.initialize(HibernateSessionMgr.java:82)
at com.rvi.hibernate.HibernateSessionMgr.getInstance(HibernateSessionMgr.java:60)
at com.rvi.db.hibernate.HibernateUtil.getSessionMgr(HibernateUtil.java:98)
at com.rvi.db.hibernate.HibernateUtil.getSession(HibernateUtil.java:24)
at com.rvi.search.lucene.index.LuceneIndexUpdater.<init>(LuceneIndexUpdater.java:147)
at com.rvi.search.lucene.index.LuceneCompanyIndexUpdater.<init>(LuceneCompanyIndexUpdater.java:57)
at com.rvi.search.lucene.index.LuceneCompanyIndexUpdater.main(LuceneCompanyIndexUpdater.java:313)
Caused by: org.hibernate.MappingException: Resource: CorpAccount.hbm.xml not found
at org.hibernate.cfg.Configuration.addResource(Configuration.java:479)
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1465)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1433)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1414)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1390)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1310)
at com.rvi.hibernate.HibernateSessionMgr.loadJndiDataSources(HibernateSessionMgr.java:346)
at com.jigsaw.commons.utility.spring.ApplicationContextProvider.initFromClasspath(ApplicationContextProvider.java:68)
at com.rvi.hibernate.HibernateSessionMgr.initialize(HibernateSessionMgr.java:76)
... 6 more


报错说找不到hibernate.cfg.xml文件中配置的CorpAccount.cfg.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>

<!-- Database connection settings -->
<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql://localhost:3306/sandbox_master?autoReconnect=true&zeroDateTimeBehavior=convertToNull</property>
<property name="connection.username">root</property>
<property name="connection.password"></property>
<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>
<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>
<property name="hibernate.jdbc.batch_versioned_data">true</property>
<!-- Echo all executed SQL to stdout -->
<property name="show_sql">false</property>
<property name="format_sql">true</property>
<!-- eg. validate | update | create | create-drop -->
<property name="hbm2ddl.auto">validate</property>
<property name="hibernate.cglib.use_reflection_optimizer">false</property>
<mapping resource="CorpAccount.hbm.xml"/>
<mapping resource="User.hbm.xml"/>
<mapping resource="CleanAccountSettings.hbm.xml"/>
<mapping resource="Message.hbm.xml"/>

</session-factory>

</hibernate-configuration>


其中"CorpAccount.hbm.xml"文件该放在那里才会被找到了?
cxalxpks 2009-04-11
  • 打赏
  • 举报
回复
只要放一个在 src 下应该就可以了,放在src下的话 只要readWriteConfiguration.configure()就行了,具体寻找路径的话要看 源码了。。

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧