如果你使用早前版本的Spring,又恰好采用了Annotation注解方式(而非传统XML方式)配置Hibernate对象关系映射,那么在通过org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean配置sessionFactory时,你一定对annotatedClasses、annotatedPackages有一种说不出的胸闷的感觉,如此以高配置性见长的Spring,怎么在这一个小小的环节上就不能做得再灵活些呢,一定要一个个手写Class路径么?
估计有不少人无奈选择了从AnnotationSessionFactoryBean继承一个自定义的子类,自己实现扫描逻辑,找出@Entity注解过的类清单配置进去。
Spring 2.5.6里有个不怎么起眼的改进,那就是在AnnotationSessionFactoryBean上增加了一个新的方法:setPackagesToScan(String[] packagesToScan)
有了这个方法,我们不再需要自己动手去实现实体类的扫描了,直接在Spring配置文件中AnnotationSessionFactoryBean这个section上增加类似如下的一个property即可(假定你需要加载的实体类所在的包名match这个字符串"com.**.bo"):
<property name="packagesToScan" value="com.**.bo"/>
你也可以以清单的方式指定多于1条的匹配字串,如:
<property name="packagesToScan">
<list>
<value>com.abc.core.bo</value>
<value>com.abc.auditing.bo</value>
</list>
</property>
分享到:
相关推荐
NULL 博文链接:https://binshanf.iteye.com/blog/264937
自Spring 2.5.6版本开始,`AnnotationSessionFactoryBean`增加了`setPackagesToScan`方法,这是一个重要的改进。此方法允许我们在配置文件中直接指定需要扫描的实体类包名,从而自动发现并注册实体类,无需手动配置...
### 关于 "org.springframework.orm.hibernate3.LocalSessionFactoryBean" 未找到问题的知识点解析 #### 一、问题背景 在开发基于Spring与Hibernate整合的应用时,可能会遇到“`org.springframework.orm.hibernate...
要让Hibernate同时支持XML和注解映射,我们可以创建一个新的配置类,该类扩展`AnnotationSessionFactoryBean`,并在需要时调用其父类`LocalSessionFactoryBean`的方法来处理XML映射。这样,我们就可以拥有一个单一的...
在Spring配置文件中,我们需要定义SessionFactory,通常有两种实现方式,一种是传统的HibernateConfiguration,另一种是更常用于Hibernate 3.4及更高版本的AnnotationSessionFactoryBean。在这个项目中,我们将去掉...
在探讨Hibernate中注释的几种配置方式时...在Spring配置文件中,通过`<bean>`元素创建`AnnotationSessionFactoryBean`实例,指定`annotatedClasses`属性来告知Hibernate哪些类需要被扫描和处理。 示例代码: ```xml ...
在`applicationContext.xml`中,将SessionFactory引用的类改为`AnnotationSessionFactoryBean`,并设置扫描实体类的路径,例如`<property name="packagesToScan" value="com.wanshi.entity">`。 4. **自动装配**: ...
而使用注解的方式,我们可以创建`AnnotationSessionFactoryBean`,并通过`<mapping>`标签直接指定实体类,例如: ```xml <bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation....
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <!-- 设置命名策略 --> <!-- 其他相关属性配置 --> ``` 1.1.2 Hibernate注解的使用 ...
### 百知教育Spring笔记...- **`<bean id="sessionFactory46" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">`**:定义了一个名为`sessionFactory46`的Bean,该Bean的类型为`...
在构建企业级应用时,常常会采用...当使用Hibernate的注解功能时,你可以使用`AnnotationSessionFactoryBean`来替代`LocalSessionFactoryBean`,直接在实体类上标注相关的注解,无需单独的映射文件。例如: ```xml ...
通过Spring的`AnnotationSessionFactoryBean`配置SessionFactory,这样可以在Spring容器中管理Hibernate的SessionFactory。设置数据源、映射的实体类或者映射的包,以及Hibernate的属性。 ```xml ...
这里使用的是`AnnotationSessionFactoryBean`,它是`LocalSessionFactoryBean`的一个子类,专门用于支持基于Annotation的Hibernate配置。与传统的`setMappingResources()`不同,该类支持`setAnnotatedClasses()`方法...
例如:<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">... 这里,AnnotationSessionFactoryBean 是 Spring 框架提供的一个 Hibernate 工厂 bean...
2.如果您正在使用 Spring 框架,可以使用 AnnotationSessionFactoryBean 类轻松建立一个基于注释的 Hibernate 会话工厂。 Hibernate 注解的应用场景: * 在 Java 项目中使用 Hibernate 持久性框架时。 * 需要简化 ...
Struts2.0 是基于 Struts1 的重大改进,采用了更加灵活的配置方式,并且整合了 WebWork 的强大功能。它主要用于实现模型-视图-控制器(MVC)设计模式,使得应用程序的结构更加清晰。 - **MVC架构**:Struts2 提供了...
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean"> <value>com.org.entity</value> ${hibernate.dialect} ...
`AnnotationSessionFactoryBean`用于基于注解的Hibernate配置,通过`ref="dataSource"`将数据源关联起来,并设置其他Hibernate属性,如日志显示SQL(`hibernate.show_sql`)和格式化SQL(`hibernate.format_sql`)。...
- 可以选择将 Hibernate 和 Spring 的配置合并,通过 Spring 的 `LocalSessionFactoryBean` 或 `AnnotationSessionFactoryBean` 来管理 Hibernate 的 SessionFactory。 6. **配置启动环境** - 配置 `web.xml`,...