`
一日一博
  • 浏览: 229563 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Hibernate4之一对多双自身向关联

阅读更多
商品分类信息可以有很多分类信息,每个分类信息都有下级关系和上级关系,所以是一对多双向自身关联.而且当一个有下级关系的对象删除后,其下级对象都会删除。
在双向自身关联中@ManyToOne默认是非延迟加载的,所以不用配置fetch属性。
而@OneToMany默认是延迟加载的,所以需要配置fetch属性。

/**
 * @author Chou
 * @since 2012-8-8
 * ...商品分类信息实体(一对多双向自身关联)
 * 
 */

@Entity
@Table(name = "TAB_GOODSCATE")
@SequenceGenerator(name = "seq", sequenceName = "SEQ_GOODSCATE", allocationSize = 1)
public class Goodscate {
	private Long id;
	private String cateNo;
	private String cateName;
	private Goodscate parent;
	private Set<Goodscate> children = new HashSet<Goodscate>();
	
	@Id
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq")
	public Long getId() {
		return id;
	}
	
	......

	@ManyToOne
	@JoinColumn(name = "PARENTID")
	public Goodscate getParent() {
		return parent;
	}

	public void setParent(Goodscate parent) {
		this.parent = parent;
	}
	
	@OneToMany(mappedBy = "parent", fetch = FetchType.EAGER,cascade = CascadeType.REMOVE)
	public Set<Goodscate> getChildren() {
		return children;
	}

	public void setChildren(Set<Goodscate> children) {
		this.children = children;
	}

}
分享到:
评论

相关推荐

    Hibernate教程07_关系映射之一对一双向主键关联

    在" Hibernate教程07_关系映射之一对一双向主键关联"中,我们将学习如何设置这种关联。首先,我们需要创建两个实体类,例如`Employee`和`Department`。在每个类中,我们都需要定义主键字段,并用`@Id`注解标记。然后...

    Hibernate关联映射

    7. Hibernate 多对一连接表单向关联: 这种关联同样需要连接表,连接表中的外键分别引用多的一方和一的一方。配置上,需要创建连接表实体并使用 `many-to-one` 元素。 8. Hibernate 多对多单向关联: 多对多关联...

    hibernate3.2级联关系自身一对多双向关联

    在Hibernate 3.2版本中,级联关系是处理对象间关联的重要特性,特别是自身一对多双向关联,这允许一个实体类实例与多个相同类型的其他实例相关联,而且这种关联是双向的。现在,让我们深入探讨这个主题。 首先,...

    Hibernate教程12_关系映射之一对多(多对一)双向关联

    本教程主要聚焦于Hibernate中的关系映射,特别是"一对多"(多对一)的双向关联。在数据库设计中,这种关系映射非常常见,比如一个用户可以有多个订单,而每个订单对应一个用户。 首先,我们需要理解"一对多"(One-...

    hibernate一对多双向

    一对多(One-to-Many)关联是实体之间最常见的关系类型之一,表示一个实体可以与多个其他实体相关联,而后者只能与前者的一个实例相关联。例如,在一个公司组织结构中,一个部门可以有多个员工,但每个员工只能属于...

    Hibernate one2one_pk_1

    在深入探讨Hibernate中的一对一主键关联双向映射之前,我们先来了解下Hibernate以及一对一双向关联的基本概念。 Hibernate是一种开源的对象关系映射(ORM)框架,它提供了从Java类到数据库表的映射机制,使得开发...

    Hibernate中的关联映射

    在Hibernate框架中,关联映射是用于表示数据库表之间关联的关键机制之一。通过适当的关联映射,可以有效地管理对象之间的关系,并确保这些关系能够在数据库中得到正确的表示。根据描述,本文将详细介绍Hibernate中的...

    基于Struts2和Hibernate的简单学生选课系统

    系统中的一对多和多对多关联映射是Hibernate的核心特性之一。 #### 1. 一对多关联 在选课系统中,可能存在的一个例子是一对多关联,如“课程”与“学生”的关系。一个课程可以有多个学生选修,而每个学生只能选修一...

    Hibernate 3.2参考手册(中英双版)

    10. **关联映射**:包括一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多对多(ManyToMany)的映射关系。 11. **继承映射**:Hibernate支持单表继承、联合继承和表-per-hierarchy、表-per-...

    Hibernate对象关系

    一对一的关联在Hibernate中是最简单的关联类型之一。它主要用于表示一对一的业务逻辑关系,并且在大多数情况下,这种关系可以有效地简化数据库设计。 #### 二、简单引用(多对一) **定义** 多对一是指多个对象可以...

    hibernate 教程

    开始Hibernate之旅 1.2. 第一个可持久化类 1.3. 映射cat 1.4. 与猫同乐 1.5. 结语 2. 体系结构 2.1. 总览 2.2. JMX集成 2.3. JCA支持 3. SessionFactory配置 3.1. 可编程配置方式...

    hibernate3.2中文参考手册

    随着技术的不断成熟,Hibernate 已经成为了开发人员进行数据库操作的首选工具之一。本中文参考手册是针对Hibernate 3.2版本的详细指南,旨在帮助开发者全面理解和应用这个强大的框架。 一、Hibernate概述 Hibernate...

    精通Java Web整合开发(第2版)

    12.4.5 多对一单向关联的annotation注解实现538 12.4.6 一对多双向关联的annotation注解实现540 12.4.7 一对多双向自身关联的annotation注解实现542 12.4.8 多对多单向关联的annotation注解实现543 12.4.9 多对多...

    hibernate3.zip

    10. **多对一、一对多、多对多关联映射**:Hibernate3支持多种关联关系的映射,包括单向、双向、级联操作等,使得数据库关系模型能够完整地映射到对象模型。 通过这个"hibernate3.zip"压缩包,你可以获取到完整的...

    Hibernate.rar

    Hibernate支持一对一、一对多、多对一、多对多等各种关联关系映射,通过@OneToOne、@OneToMany、@ManyToOne、@ManyToMany等注解实现。关联映射的处理是ORM中的关键部分,需要谨慎处理双向关联和懒加载问题。 8. **...

    hibernate

    开始Hibernate之旅 1.2. 第一个可持久化类 1.3. 映射cat 1.4. 与猫同乐 1.5. 结语 2. 体系结构 2.1. 总览 2.2. JMX集成 2.3. JCA支持 3. SessionFactory配置 3.1. 可编程配置方式...

    hibernate配置文件

    ### Hibernate配置文件详解 #### 一、概述 Hibernate是一种用于Java环境下的对象关系映射(Object-Relational Mapping,简称ORM)框架。...理解并熟练掌握这些配置是使用Hibernate框架的基础之一。

    struts+hibernate开发的项目源代码集合

    Hibernate是Java领域最流行的ORM框架之一,它允许开发者使用Java对象来操作数据库,而不是直接编写SQL语句。Hibernate通过映射XML文件(hibernate.cfg.xml和.hbm.xml)将Java类与数据库表关联起来。 1. **实体类...

    JAVA面试必问题之ssh.doc

    4. **性能优势**:作为一个轻量级框架,Hibernate具有出色的性能和灵活性,支持多种数据库,能够处理从一对一到多对多的复杂关系。 #### Hibernate的延迟加载机制 延迟加载(Lazy Loading)是一种按需加载的策略,...

Global site tag (gtag.js) - Google Analytics