spring通过注解方式hibernate映射文件
先看如下代码
<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessi
onFactoryBean"
destroy-method="destroy">
<property name="dataSource" ref="dataSource" />
<property name="annotatedClasses">
<list>
<value>com.helloweenvsfei.forum.bean.Category</value>
<value>com.helloweenvsfei.forum.bean.Board</value>
<value>com.helloweenvsfei.forum.bean.Thread</value>
<value>com.helloweenvsfei.forum.bean.Person</value>
<value>com.helloweenvsfei.forum.bean.Reply</value>
</list>
</property>
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">
org.hibernate.dialect.MySQLDialect
</prop>
<prop
key="hibernate.show_sql">true</prop>
<prop
key="hibernate.format_sql">false</prop>
<prop
key="hibernate.hbm2ddl.auto">update</prop>
</props>
</property>
</bean>
1.这里要注意spring有几种加载映射文件的方式,我们以前遇到过的是通过
MappingResource来加载相应的映射xml文件,这次我们看看使用注解的方式来
加载映射文件。具体的注解映射方式可以参考
http://blog.sina.com.cn/s/blog_5bd6b45101012ck5.html
2.此外除了通过注解的方式,我们也可以通过mappingDirectoryLocations属
性来定义映射文件。只要指出映射文件所在文件夹就可以了,Spring会替你找
出该文件夹内所有的映射文件,定义方法如下:
<property name="mappingDirectoryLocations">
<list>
<value>WEB-INF/mappings</value>
</list>
</property>
具体可参见
http://blog.csdn.net/huiwenjie168/article/details/7013618
3.这里要理解下
@ManyToOne
@JoinColumn(name = "category_id")
private Category category;
的用法,这个为映射多对一,这里的JoinColumn的意思是加入一个新的属性
category,它对应数据库表中名为category_id的字段,这样就使用这个字段来
作为外键关联,而不使用连接表了。
而在对应的“一”端,为
@OneToMany(mappedBy = "category")
private List<Board> boards = new ArrayList<Board>();
4.我们再来理解下多对多
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name = "board_administrator", joinColumns = {
@JoinColumn(name = "board_id") }, inverseJoinColumns = {
@JoinColumn(name = "person_id") })
private Set<Person> administrators = new HashSet<Person>();
这是在多方的代码,增加一个连接表,名为board_adminstrator,在这个连接
表中,增加两个属性,一个属性为board_id,一个为person_id,分别对应这个
多对多表的两边的属性,而这里的InverseJoinColumns代表这个属性是“对方
”的一个属性。
多的另外一方,自然就是mapped到administrators
@ManyToMany(mappedBy = "administrators")
private Set<Board> boardsAdministrated = new HashSet<Board>
();
分享到:
相关推荐
1. **对象关系映射**:Hibernate通过XML映射文件或注解,将数据库表与Java对象对应起来,实现了数据库操作的对象化,使得开发者可以像操作普通Java对象一样操作数据库记录。 2. **查询语言(HQL)**:Hibernate提供...
Spring提供了`LocalSessionFactoryBean`用于配置基于XML的Hibernate映射,而`AnnotationSessionFactoryBean`则用于处理基于注解的映射。这两个类分别处理不同的映射方式,所以默认情况下,它们不能直接共存于同一个...
总的来说,这个入门实例旨在帮助初学者理解如何在没有使用注解的情况下,通过XML配置文件集成SpringMVC、Spring和Hibernate,完成一个简单的Web应用。虽然现在的最佳实践倾向于使用注解和Spring Boot,但理解非注解...
总的来说,Spring MVC、Spring 4.x和Hibernate 4的注解方式注入大大简化了开发过程,提高了代码的可读性和可维护性。开发者可以通过注解轻松地定义和管理组件之间的关系,降低了项目的复杂度,提升了开发效率。在...
Spring MVC通过注解如@Controller、@RequestMapping等,可以让开发者在方法级别定义请求映射,简化了配置。 Spring框架的核心是依赖注入(Dependency Injection,DI),它允许组件之间通过接口进行协作,而不是硬...
"CRM完整版 spring2.5注解+hibernate3.0"是一个专为中级程序员设计的项目,旨在帮助他们深入理解和应用Spring 2.5版本的注解以及Hibernate 3.0 ORM框架。 Spring 2.5是Spring框架的一个里程碑版本,它引入了大量的...
基于Spring+SpringMVC+Hibernate的全注解开发,允许开发者摆脱传统的XML配置文件,转而使用注解来实现组件的配置,大大简化了开发流程,提高了开发效率。 **Spring框架** 是一个全面的后端应用管理框架,它提供了...
在这个视频教程中,你可能将学习到如何配置Spring的XML上下文文件以启用注解驱动的配置,如何在Spring MVC中创建注解式的控制器并处理HTTP请求,以及如何通过Hibernate的注解来设计数据模型并执行CRUD操作。...
这个"spring,springMVC,Hibernate全注解案例"旨在通过注解的方式,帮助开发者理解如何在不编写XML配置的情况下,实现数据库与应用程序的交互。 Spring框架是一个全面的后端开发解决方案,它包含了依赖注入(DI)和...
至此,我们完成了Spring注解与Hibernate的整合。这个过程使得开发人员可以专注于业务逻辑,而无需过多关注数据访问层的细节。在实际项目中,还可以进一步优化,比如使用JPA(Java Persistence API)替换Hibernate,...
在本视频教程“Spring MVC + Spring + Hibernate 全注解整合开发视频教程 04”中,我们将深入探讨Java企业级开发中的三大核心技术——Spring、Spring MVC和Hibernate的集成与应用,尤其是通过注解实现的简化配置。...
这个"hibernate+spring注解例子"项目提供了一个实际的登录场景,帮助学习者更好地理解和运用这两个框架的注解特性。通过深入学习和实践,开发者能够提高开发效率,降低出错概率,为构建高效、稳定的Java应用程序打下...
在Hibernate中,我们可以通过注解来定义实体类和表之间的映射,如`@Entity`、`@Table`、`@Id`等。这不仅减少了XML配置文件的工作量,还提高了代码的可读性。 **Spring** 是一个全面的企业级应用开发框架,它提供了...
通过以上步骤,我们可以高效地在MyEclipse中利用其工具生成Hibernate映射文件,极大地提高了开发效率。同时,理解并掌握这个过程有助于我们更好地理解和使用Hibernate框架,提升项目的可维护性和开发速度。 在实际...
- `src/main/resources`:存放配置文件的地方,比如Spring的XML配置、Hibernate的实体映射文件(hbm.xml或注解)和数据库连接配置等。 - `src/main/webapp`:Web应用的根目录,包含静态资源(如HTML、CSS、...
- 编写映射文件(或使用注解)将实体类与数据库表关联起来。 3. **使用注解**: - 在Service层的方法上添加@Transactional注解,指定事务的传播行为(如REQUIRED、REQUIRES_NEW等)和隔离级别。 - 在DAO层,使用...
在本项目中,"s2sh半注解结合方式框架搭建开发"指的是使用Struts2、Spring和Hibernate,并通过注解的方式来进行部分配置,以简化传统的XML配置文件,提高开发效率。 首先,让我们来详细了解一下这三个框架的核心...
在这个“Spring + struts + hibernate(SSHAnnotation) 全注解”项目中,开发者使用了这些框架的注解版本,以减少XML配置文件的使用,提高代码的可读性和开发效率。 **Struts2** 是一个基于MVC(Model-View-...
这个“全注解方式实现的demo”旨在展示如何通过注解来配置这三个框架,从而简化传统XML配置文件的复杂性。 Struts2是基于MVC(Model-View-Controller)设计模式的开源Web框架,它负责处理HTTP请求,并将这些请求...
通过这个小例子,我们可以了解Spring和Hibernate整合下的一对一映射及级联操作的实现方式,这对于理解和构建复杂的企业级应用非常有帮助。开发者可以根据自己的需求调整代码,适应各种场景。在实际项目中,还应注意...