如何在hibernate中动态映射HBM文件?

时间:2011-02-15 07:58:47

标签: hibernate hibernate-mapping

声明Hibernate映射文件:

创建配置时以编程方式

例如:

配置cfg = new配置()     .addResource( “Item.hbm.xml”)     .addResource( “Bid.hbm.xml”);

在Hibernate XML配置文件中

例如:

  

<!-- Database connection settings -->
<property name="connection.driver_class">${jdbc.driver}</property>
<property name="connection.url">${jdbc.url}</property>
<property name="connection.username">${jdbc.user}</property>
<property name="connection.password">${jdbc.password}</property>

...

<mapping resource="com/acme/Foo.hbm.xml"/>
<mapping resource="com/acme/Bar.hbm.xml"/>
...

在Spring XML应用程序上下文定义中

例如:

                      

                         product.hbm.xml                                 hibernate.dialect = org.hibernate.dialect.HSQLDialect               

但在我的应用程序中,有数百个hbm文件。那么,有没有什么方法可以将所有hbm文件放在同一个包中并将该包映射到配置文件中?或者任何简单的方法来映射所有的hbm文件?

2 个答案:

答案 0 :(得分:0)

我只想在配置文件中列出它们。这是一次性工作,之后只有新文件被添加到列表中。

答案 1 :(得分:0)

我有类似的问题,我想避免列出所有的hbm文件。我的问题有点复杂,因为hbm文件来自不同的模块。如果您的所有hbm文件都来自同一模块/ jar,那么您只需添加jar名称,如下所示

<mapping jar="/D:/Test/target/test-1.0.jar" />

如果您正在使用JPA并拥有persistence.xml,那么您可以在persistence.xml文件中提供所有hbm文件所在的根文件夹路径

 <persistence-unit ...... >
 <jar-file>file:/D:/Test/target/</jar-file>