【问题标题】:how to map HBM files dynamically in hibernate?如何在休眠中动态映射 HBM 文件?
【发布时间】:2011-02-15 07:58:47
【问题描述】:

Hibernate 映射文件被声明:

在创建配置时以编程方式

例如:

配置 cfg = 新配置() .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 应用程序上下文定义中

例如:

产品.hbm.xml hibernate.dialect=org.hibernate.dialect.HSQLDialect

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

【问题讨论】:

    标签: hibernate hibernate-mapping


    【解决方案1】:

    我会在配置文件中将它们全部列出。这是一次性作业,之后只会将新文件添加到列表中。

    【讨论】:

      【解决方案2】:

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

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

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

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

      【讨论】:

        猜你喜欢
        • 2013-03-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-28
        • 2021-09-29
        • 1970-01-01
        • 1970-01-01
        • 2011-05-25
        相关资源
        最近更新 更多