首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MappingException与hibernate.cfg.xml

MappingException与hibernate.cfg.xml
EN

Stack Overflow用户
提问于 2019-01-04 07:01:36
回答 1查看 177关注 0票数 0

我有一个与hibernate-core 4.2.3.Final一起使用的maven项目。我采纳了以下建议:

Where to place hibernate config?

Hibernate Tutorial - Where to put Mapping File?

src/main/resources中的配置文件如下所示:

代码语言:javascript
复制
<?xml version = "1.0" encoding = "utf-8"?>
<!DOCTYPE hibernate-configuration SYSTEM
        "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="connection.url">jdbc:mysql://localhost:3306/justHibernate</property>
        <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.username">root</property>
        <property name="connection.password">12345</property>
        <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
        <mapping resource="com/mycompany/app/model/Movie.hbm.xml" />
    </session-factory>
</hibernate-configuration>

虽然映射文件在包com.mycompany.app.model中,但与Movie类一起使用:

代码语言:javascript
复制
<?xml version = "1.0" encoding = "utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
        "-//Hibernate/Hibernate Mapping DTD//EN"
        "http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
    <class name="com.mycompany.app.model.Movie" table="Movies">
        <id name="id" column="id">
            <generator class="native"/>
        </id>
        <property name="title" column="title"/>
        <property name="director" column="director"/>
        <property name="synopsis" column="synopsis"/>
    </class>
</hibernate-mapping>

异常

配置找不到映射文件。

代码语言:javascript
复制
INFO: HHH000221: Reading mappings from resource: com/mycompany/app/model/Movie.hbm.xml
Exception in thread "main" org.hibernate.MappingNotFoundException: resource: com/mycompany/app/model/Movie.hbm.xml not found
    at org.hibernate.cfg.Configuration.addResource(Configuration.java:738)
    at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:2167)
    at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:2139)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2119)
    at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2072)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1987)
    at org.hibernate.cfg.Configuration.configure(Configuration.java:1966)
    at com.mycompany.app.MovieManager.initSessionFactory(MovieManager.java:22)
    at com.mycompany.app.MovieManager.<init>(MovieManager.java:17)
    at com.mycompany.app.App.main(App.java:27)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-04 07:46:45

Movie.hbm.xml放在src/main/resources下,并在配置文件中更改路径,如下所示

代码语言:javascript
复制
<mapping resource="Movie.hbm.xml" />

希望这能有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54034390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档