配置hibernate自动映射实体

时间:2014-09-24 14:43:33

标签: java hibernate orm annotations

我在项目中使用了hibernate ORM。 现在我映射这样的实体:

<mapping class="entities.User"/>

但我必须为我创建的每个实体执行此操作 - 我是否可以在hibernate配置中添加任何内容以使其在某些包中对已注释的实体进行扫描?

谢谢

2 个答案:

答案 0 :(得分:1)

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

<mapping jar="path_to_your_jar_file"/> 

<强>更新

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

请查看ConfigurationaddJar方法的此链接。

答案 1 :(得分:1)

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

<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>