hibernate模型是一个依赖,如何从hbm文件访问?

时间:2016-08-01 15:49:14

标签: java hibernate maven hibernate-annotations

我有一个带有模型包的项目,包含使用hibernate注释的模型类。我有另一个项目,它具有使用这些模型的功能,这是.hbm文件所在的位置。 .hbm文件中的内容如下

<"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
 <session-factory>
 <property name="hibernate.temp.use_jdbc_metadata_defaults">false</property>
 <property name="hbm2ddl.auto">create-drop</property>
 <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
 <property name="connection.url">jdbc:mysql://mysql:3306/logging</property>
 <property name="connection.username">root</property>
 <property name="connection.password">my-secret-pw</property>
 <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
 <mapping class="com.filament.models.Customer"/>
 <mapping class="com.filament.models.BackgroundService"/>

</session-factory>

映射类标记显然没有指向正确的位置,即包,但是在包含依赖性中。 (该项目位于maven仓库中,并作为pom中的依赖项导入(使用导入可从java代码级别完全访问)。如何指向依赖项中的模型?

2 个答案:

答案 0 :(得分:0)

您可以利用mapping jar,即

<mapping jar="myJarfile.jar"/>

答案 1 :(得分:0)

将您的实体类放入包中。然后把它放在映射中。

我认为你有一些问题
 <mapping class="com.filament.models.Customer"/>
 <mapping class="com.filament.models.BackgroundService"/>

套餐名称: com.filament.models

班级名称应为:

  1. Customer.java
  2. BackgroundService.java
  3. 检查是否遗漏了一些课程。

    资源链接:

    Hibernate: Unable to load class declared in Hibernate configuration <mapping/> entry