hibernate.cfg.xml映射资源



是否有任何方法可以使用正则表达式(或仅使用*)来告诉Hibernate拾取给定目录中甚至项目中的所有hbm.xml文件?我只是对我的数据库进行了逆向工程,不想用<映射资源="…">

我正在使用Maven来运行hbm2java。我需要在我的组件配置中指出一些内容吗?

我的hibernate.cfg.xml当前如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
        <property name="hibernate.connection.url">jdbc:oracle:thin:@....</property>
        <property name="hibernate.connection.username">hithere</property>
        <property name="hibernate.connection.password">shhhh</property>
        <property name="hibernate.default_schema">foobar</property>
        <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property>
        <mapping resource="com/foo/bar/db/Blip.hbm.xml" />
        <mapping resource="com/foo/bar/db/Blap.hbm.xml" />
        <mapping resource="com/foo/bar/db/Blop.hbm.xml" />
    </session-factory>
</hibernate-configuration>

我不认为hibernate.cfg.xml支持正则表达式选择性地导入资源。您可以务实地导入资源。在调用Configuration的buildSessionFactory()来构建SessionFactory之前,请使用正则表达式找出要休眠以获取的映射文件路径的列表,然后使用addResource()或addClass()将它们添加到Configuration对象中。

或者,如果您使用带有hibernate的JPA作为实现,您可以通过将属性hibernate.archive.autodetection设置为hbm来启用所有hbm.xml文件的自动发现(请参阅此)

最新更新