Hibernate一对一映射问题

时间:2013-02-28 09:03:05

标签: java hibernate

我正在尝试创建依赖于几个java项目的java Web应用程序。我需要在另一个项目中引用DTO类,用于hibernate映射文件。但是在使用tomcat运行应用程序时,我得到persistent class not known:异常。

项目中的我的DTO和hbm文件结构如下,

  1. common-api / java / src / com / test1 / dto / Manager.java(package - com.test1.dto)

    共API / JAVA /配置/休眠/ manager.hbm.xml

  2. new-api / java / src / com / test2 / dto / Depeartment.java(package - com.test2.dto)

    新的API / JAVA /配置/休眠/ department.hbm.xml

  3. 部门DTO课程有一个经理对象作为财产。

    public Class Department {
        private Manager manager;
    }
    

    部门hibernate映射文件包含,

    <hibernate-mapping>
    
    <class name="com.test2.dto.Department" table="department">
    
        <id name="id" column="id" type="integer">
            <generator class="increment" />
        </id>
    
        ...
    
        <one-to-one name="manager" class="com.test1.dto.Manager" cascade="save-update" >
        </one-to-one>
    
    </class>
    

    似乎hibernate没有解析类属性值。如果你们能告诉我我能为此做些什么,我们非常感激。

1 个答案:

答案 0 :(得分:1)

只需在顶级hibernate.cfg.xml中包含所有映射文件,例如:

<hibernate-configuration>
  <session-factory ... >
    <mapping resource="org/hibernate/auction/Item.hbm.xml"/>
    <mapping resource="org/hibernate/auction/Bid.hbm.xml"/>
  </session-factory>
</hibernate-configuration>

请参阅http://docs.jboss.org/hibernate/orm/3.3/reference/en/html/session-configuration.html#configuration-xmlconfig