【问题标题】:Hibernate Mapping Files Not Found(MappingNotFoundException)未找到 Hibernate 映射文件(MappingNotFoundException)
【发布时间】:2013-10-13 04:46:01
【问题描述】:

我遵循了这个教程:http://manikandanmv.wordpress.com/2011/04/13/hibernate-basics-simple-example/

这是我的文件结构 http://i.stack.imgur.com/sX3nn.jpg

当我运行 Java Applet 时,我得到了这个错误

Initial SessionFactory creation failed.org.hibernate.MappingNotFoundException: resource: src/com/bookstore/bookapp.hbm.xml not found

但是,如您所见,我有那个文件。当我把文件放在

workspace-windows\226project1\src\com\bookstore

即使到那时我仍然面临这个错误,有人可以帮忙吗?

这是我的 hibernate.cfg.xml

<!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.url">jdbc:postgresql://localhost:5432/postgres</property>
<property name="connection.driver_class">org.postgresql.Driver</property>
<property name="connection.username">postgres</property>
<property name="connection.password">rocker123</property>
<property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>

<!-- SQL dialect -->
<property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>

<!-- Echo all executed SQL to stdout -->
<property name="show_sql">true</property>

<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">thread</property>

<!-- Drop and re-create the database schema on startup -->
<property name="hbm2ddl.auto">create</property>

<mapping resource="src/com/bookstore/bookapp.hbm.xml"/>
</session-factory>
</hibernate-configuration> 

【问题讨论】:

    标签: java xml hibernate


    【解决方案1】:

    将您的映射文件移动到 src/main/resources。只有 .java 文件属于 src/main/java。

    github 上有一个示例项目,展示了如何从 hibernate.cfg.xml 中正确引用 XML 映射文件。请参考https://github.com/zzantozz/testbed/tree/master/hibernate-with-xml-mappings

    【讨论】:

    • 感谢您的回复。请在此处查看我的文件结构:i.stack.imgur.com/sX3nn.jpg 我已将我的 java 文件移动到 src/main/java 和 .xml 到 src/main/resources 但我们遇到了同样的问题。请帮忙
    • 生成一个单独的资源文件夹,右键单击它并选择构建路径>用作源文件夹。这样它就在类路径上,但你不会将它与你的 Java 源文件混合。
    • 问题已通过以下方式解决:1)将bookapp.hbm.xml移动到/src/ 2)修改hibernate.conf.xml (使用点而不是 /)这解决了这个问题。我猜 hibernate 不适合 /'es
    • Java 期望 src 文件夹中的每个文件都是 .java 源文件类型。 xml、properties等文件都是资源,可以通过类路径配置为资源来使用
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-23
    • 2019-06-28
    • 1970-01-01
    • 1970-01-01
    • 2021-08-28
    相关资源
    最近更新 更多