gpt4 book ai didi

Spring 和 hibernate : Function of annotatedClasses and packagesToScan

转载 作者:行者123 更新时间:2023-12-04 02:19:28 25 4
gpt4 key购买 nike

我已经阅读了大量的 Spring 文档,但截止日期限制了我的阅读。我的 Spring Hibernate 应用程序正在运行。但是我不确定某些内部机制。

谁能解释一下 annotatedClasses 的功能,为什么我们需要它以及 hibernate 类映射,以及它的功能与要扫描的包有何不同?

<bean id="sfhbmSessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<property name="dataSource">
<ref bean="dataSource" />
</property>
<property name="annotatedClasses">
<list>
<value>com.prototype2.model.user.IdentityInformation</value>
<value>com.prototype2.model.user.IdentityInformationType</value>
<value>com.prototype2.model.user.User</value>
<value>com.prototype2.model.user.UserChild</value>
<value>com.prototype2.model.user.UserMain</value>
........
</list>
</property>
<property name="mappingResources">
<list>
<value>hibernatemap.cfg.xml</value>
</list>
</property>



<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</prop>
<prop key="hibernate.hbm2ddl.auto">update</prop>
<prop key="temp.use_jdbc_metadata_defaults">false</prop>
<prop key="hibernate.archive.autodetection">class</prop>
<prop key="show_sql">true</prop>
<prop key="hibernate.format_sql">true</prop>
<prop key="hibernate.enable_lazy_load_no_trans">true</prop>
</props>
</property>


<property name="packagesToScan">
<array>
<value>com.prototype2.model.assessment</value>
<value>com.prototype2.model.user</value>
<value>com.prototype2.model.scores</value>
<value>com.prototype2.model.business</value>
<value>com.prototype2.dao.factory</value>
<value>com.prototype2.dao.user</value>
</array>
</property>
</bean>

最佳答案

annotatedClass 指定注解实体类注册到这个 Hibernate SessionFactory。使用这种方法,您应该手动注册所有用 @Entity 注释的实体,这不是可扩展的解决方案。更好的方法是通过 packagesToScan 属性指定带注释的 packages(相对于单个 classes)的名称。任何时候您向这些包添加新实体时,它都会自动注册。

关于 Spring 和 hibernate : Function of annotatedClasses and packagesToScan,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31846782/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com