【问题标题】:configure hibernate to map entities automaticly配置休眠自动映射实体
【发布时间】:2014-11-19 02:54:39
【问题描述】:

我在我的项目中使用休眠 ORM。 现在我像这样映射实体:

<mapping class="entities.User"/>

但我必须为我创建的每个实体执行此操作 - 我可以在 hibernate 配置中添加任何内容以使其扫描自身以查找某个包中的注释实体吗?

谢谢

【问题讨论】:

  • 你有一个替代方案cfg.addAnnotatedClass(Entity.class),但我不认为映射可以自动化。

标签: java hibernate orm annotations


【解决方案1】:

使用 spring 可以帮助您扫描包。请参阅下面的配置

<bean id="sessionFactory"
        class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
        <property name="packagesToScan">
            <list>
                <value>com.tds.hibernate.entities</value>
            </list>
        </property>
        <property name="dataSource" ref="dataSource" />
        <property name="hibernateProperties">
            <props>
                <prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
                <prop key="hibernate.current_session_context_class">thread</prop>

            </props>
        </property>

    </bean>

【讨论】:

    【解决方案2】:

    您可以将所有 java 实体放在 JAR 文件中,然后在 hibernate 配置文件中提供 JAR 文件的路径,如下所示:

    <mapping jar="path_to_your_jar_file"/> 
    

    更新:

    仅当您有用于映射的 hbm.xml 文件而不是在您的类上使用注释时,这才有用。这些映射文件应该是 JAR 文件的一部分。

    查看此链接以获取Configuration 类的addJar 方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-10-06
      • 2019-12-03
      • 2020-12-18
      • 1970-01-01
      • 2021-11-11
      • 2016-10-18
      • 2015-10-31
      相关资源
      最近更新 更多