我在项目中使用了hibernate ORM。 现在我映射这样的实体:
<mapping class="entities.User"/>
但我必须为我创建的每个实体执行此操作 - 我是否可以在hibernate配置中添加任何内容以使其在某些包中对已注释的实体进行扫描?
谢谢
答案 0 :(得分:1)
您可以将所有java实体放在JAR
文件中,然后在hibernate配置文件中提供JAR
文件的路径,如下所示:
<mapping jar="path_to_your_jar_file"/>
<强>更新强>
仅当您使用hbm.xml文件进行映射而不是在类上添加注释时,这才有用。这些映射文件应该是JAR文件的一部分。
请查看Configuration
类addJar方法的此链接。
答案 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>