0

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

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

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

    common-api/java/config/hibernate/manager.hbm.xml

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

    new-api/java/config/hibernate/department.hbm.xml

部门 DTO 类有一个 Manager 对象作为属性。

public Class Department {
    private Manager manager;
}

部门休眠映射文件包含,

<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解析。非常感谢你们能建议我为此做些什么?

4

1 回答 1

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

于 2013-02-28T09:07:04.433 回答