`

spring通过注解方式hibernate映射文件

阅读更多
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>

();
分享到:
评论

相关推荐

    Spring+Hibernate 自动映射

    1. **对象关系映射**:Hibernate通过XML映射文件或注解,将数据库表与Java对象对应起来,实现了数据库操作的对象化,使得开发者可以像操作普通Java对象一样操作数据库记录。 2. **查询语言(HQL)**:Hibernate提供...

    让Hibernate同时支持xml和注解两种映射方式

    Spring提供了`LocalSessionFactoryBean`用于配置基于XML的Hibernate映射,而`AnnotationSessionFactoryBean`则用于处理基于注解的映射。这两个类分别处理不同的映射方式,所以默认情况下,它们不能直接共存于同一个...

    非注解Springmvc+spring+hibernate 入门实例

    总的来说,这个入门实例旨在帮助初学者理解如何在没有使用注解的情况下,通过XML配置文件集成SpringMVC、Spring和Hibernate,完成一个简单的Web应用。虽然现在的最佳实践倾向于使用注解和Spring Boot,但理解非注解...

    spring mvc spring4.x hibernate4.注解方式注入

    总的来说,Spring MVC、Spring 4.x和Hibernate 4的注解方式注入大大简化了开发过程,提高了代码的可读性和可维护性。开发者可以通过注解轻松地定义和管理组件之间的关系,降低了项目的复杂度,提升了开发效率。在...

    spring mvc + spring + hibernate 全注解整合开发视频教程 12

    Spring MVC通过注解如@Controller、@RequestMapping等,可以让开发者在方法级别定义请求映射,简化了配置。 Spring框架的核心是依赖注入(Dependency Injection,DI),它允许组件之间通过接口进行协作,而不是硬...

    CRM完整版 spring2.5注解+hibernate3.0

    "CRM完整版 spring2.5注解+hibernate3.0"是一个专为中级程序员设计的项目,旨在帮助他们深入理解和应用Spring 2.5版本的注解以及Hibernate 3.0 ORM框架。 Spring 2.5是Spring框架的一个里程碑版本,它引入了大量的...

    基于spring+springmvc+hibernate的全注解开发

    基于Spring+SpringMVC+Hibernate的全注解开发,允许开发者摆脱传统的XML配置文件,转而使用注解来实现组件的配置,大大简化了开发流程,提高了开发效率。 **Spring框架** 是一个全面的后端应用管理框架,它提供了...

    spring mvc + spring + hibernate 全注解整合开发视频教程 11

    在这个视频教程中,你可能将学习到如何配置Spring的XML上下文文件以启用注解驱动的配置,如何在Spring MVC中创建注解式的控制器并处理HTTP请求,以及如何通过Hibernate的注解来设计数据模型并执行CRUD操作。...

    spring,springMVC,Hibernate全注解案例

    这个"spring,springMVC,Hibernate全注解案例"旨在通过注解的方式,帮助开发者理解如何在不编写XML配置的情况下,实现数据库与应用程序的交互。 Spring框架是一个全面的后端开发解决方案,它包含了依赖注入(DI)和...

    spring注解整合hibernate

    至此,我们完成了Spring注解与Hibernate的整合。这个过程使得开发人员可以专注于业务逻辑,而无需过多关注数据访问层的细节。在实际项目中,还可以进一步优化,比如使用JPA(Java Persistence API)替换Hibernate,...

    spring mvc + spring + hibernate 全注解整合开发视频教程 04

    在本视频教程“Spring MVC + Spring + Hibernate 全注解整合开发视频教程 04”中,我们将深入探讨Java企业级开发中的三大核心技术——Spring、Spring MVC和Hibernate的集成与应用,尤其是通过注解实现的简化配置。...

    hibernate+spring注解例子

    这个"hibernate+spring注解例子"项目提供了一个实际的登录场景,帮助学习者更好地理解和运用这两个框架的注解特性。通过深入学习和实践,开发者能够提高开发效率,降低出错概率,为构建高效、稳定的Java应用程序打下...

    SSH三大框架整合 struts2+hibernate+spring (全注解方式进行配置)

    在Hibernate中,我们可以通过注解来定义实体类和表之间的映射,如`@Entity`、`@Table`、`@Id`等。这不仅减少了XML配置文件的工作量,还提高了代码的可读性。 **Spring** 是一个全面的企业级应用开发框架,它提供了...

    myeclipse自动生成hibernate映射文件

    通过以上步骤,我们可以高效地在MyEclipse中利用其工具生成Hibernate映射文件,极大地提高了开发效率。同时,理解并掌握这个过程有助于我们更好地理解和使用Hibernate框架,提升项目的可维护性和开发速度。 在实际...

    idea工具创建的Spring+SpringMVC+Hibernate+maven项目

    - `src/main/resources`:存放配置文件的地方,比如Spring的XML配置、Hibernate的实体映射文件(hbm.xml或注解)和数据库连接配置等。 - `src/main/webapp`:Web应用的根目录,包含静态资源(如HTML、CSS、...

    Spring+Hibernate注解事务实例

    - 编写映射文件(或使用注解)将实体类与数据库表关联起来。 3. **使用注解**: - 在Service层的方法上添加@Transactional注解,指定事务的传播行为(如REQUIRED、REQUIRES_NEW等)和隔离级别。 - 在DAO层,使用...

    struts2+spring+hibernate s2sh半注解结合方式框架搭建开发

    在本项目中,"s2sh半注解结合方式框架搭建开发"指的是使用Struts2、Spring和Hibernate,并通过注解的方式来进行部分配置,以简化传统的XML配置文件,提高开发效率。 首先,让我们来详细了解一下这三个框架的核心...

    Spring + struts +hibernate(SSHAnnotation) 全注解

    在这个“Spring + struts + hibernate(SSHAnnotation) 全注解”项目中,开发者使用了这些框架的注解版本,以减少XML配置文件的使用,提高代码的可读性和开发效率。 **Struts2** 是一个基于MVC(Model-View-...

    采用struts2,spring3,hibernate的全注解方式实现的demo

    这个“全注解方式实现的demo”旨在展示如何通过注解来配置这三个框架,从而简化传统XML配置文件的复杂性。 Struts2是基于MVC(Model-View-Controller)设计模式的开源Web框架,它负责处理HTTP请求,并将这些请求...

    Spring+Hibernate 一对一映射级联增删改查小例子

    通过这个小例子,我们可以了解Spring和Hibernate整合下的一对一映射及级联操作的实现方式,这对于理解和构建复杂的企业级应用非常有帮助。开发者可以根据自己的需求调整代码,适应各种场景。在实际项目中,还应注意...

Global site tag (gtag.js) - Google Analytics