package com.xuguang.ext.xgerp.comm.workshop.bean;
import java.io.Serializable;
import java.util.List;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;
import javax.persistence.Table;
import javax.persistence.FetchType;
import org.hibernate.annotations.NotFound;
import org.hibernate.annotations.NotFoundAction;
/**
* 工作点
* @author ztw
*
*/
@Entity
@Table(name="comm_workshop")
public class WorkShop implements Serializable {
/**
*
*/
private static final long serialVersionUID = -7502127838260795796L;
/**
* 关键字
*/
private String workshopPK;
/**
* 编号
*/
private String workshopNo;
/**
* 名称
*/
private String workshopName;
/**
* 类型
*/
private String workshopType;
/**
* 父
*/
private WorkShop father;
/**
* 子
*/
private List<WorkShop> sons;
@Id
public String getWorkshopPK() {
return workshopPK;
}
public void setWorkshopPK(String workshopPK) {
this.workshopPK = workshopPK;
}
public String getWorkshopNo() {
return workshopNo;
}
public void setWorkshopNo(String workshopNo) {
this.workshopNo = workshopNo;
}
public String getWorkshopName() {
return workshopName;
}
public void setWorkshopName(String workshopName) {
this.workshopName = workshopName;
}
public String getWorkshopType() {
return workshopType;
}
public void setWorkshopType(String workshopType) {
this.workshopType = workshopType;
}
@ManyToOne(targetEntity=WorkShop.class)
@JoinColumn(name="fatherPK")
@NotFound(action=NotFoundAction.IGNORE)
public WorkShop getFather() {
return father;
}
public void setFather(WorkShop father) {
this.father = father;
}
@OneToMany(mappedBy="father",fetch=FetchType.EAGER)
@OrderBy("workshopName")
public List<WorkShop> getSons() {
return sons;
}
public void setSons(List<WorkShop> sons) {
this.sons = sons;
}
}
分享到:
相关推荐
本篇文章将详细讲解如何在Hibernate中实现多对一双向关联关系,并通过源码分析加深理解。 多对一关联关系是指在数据库中,一个实体(表)可以与多个其他实体(表)相关联,而另一个实体则对应于前者的多个实例。...
标题“Hibernate ORM - 一对多双向关联关系”指的是在数据库建模中,Hibernate ORM(对象关系映射)框架如何处理一个实体类(如User)与多个实体类(如Article)之间的关系。在这种关系中,一个用户可以拥有多个文章...
配置时,用户类使用`@OneToMany`注解,订单类使用`@ManyToOne`注解,同时在`@OneToMany`中设置`mappedBy`属性。 最后,我们讨论双向一对一关联映射(BidirectionalOneToOne)。这种关系中,两个实体类之间存在一对...
**Hibernate双向关联详解** 在Java开发中,Hibernate作为一款强大的对象关系映射(ORM)框架,极大地简化了数据库操作。本示例将深入探讨Hibernate中的双向关联,这是一种常见且重要的数据模型映射技术。 双向关联...
这篇博客将深入探讨JPA中的一对多双向关联以及级联操作。 首先,让我们理解一对多关联。假设我们有两个实体,一个是`User`(用户)和一个是`Post`(帖子)。一个用户可以发布多个帖子,但一个帖子只能属于一个用户...
在本篇《JPA学习总结(三)--JPAOneToMany双向关联》中,我们将深入探讨Java Persistence API (JPA)中的OneToMany关系映射,这是一种在数据库表之间建立一对多关联的方式。JPA作为ORM(对象关系映射)框架,允许我们...
本文主要探讨的是Hibernate中的两种关联关系:多对一单向关联和多对一双向关联。通过理解这两种关联方式,我们可以更好地设计和实现复杂的数据库模型。 首先,我们来看**多对一单向关联**。这种关联意味着一个实体...
在数据库设计中,这种关联关系是常见的,例如一个用户可以有多个订单(一对多),一个订单对应一个用户(多对一),而一个商品可以被多个订单购买,同时一个订单也可以包含多个商品(一对多双向关联)。这个标题暗示...
本文将深入探讨如何使用Hibernate注解实现基于外键的一对多双向关联。我们将通过具体实例来解析这个主题,并结合源码分析其工作原理。 首先,我们要明白一对多关联意味着一个实体可以拥有多个关联的实体。在数据库...
双向关联需要在两个实体类中都添加相应的注解,一方使用`@ManyToOne`,另一方使用`@OneToMany`并指定`mappedBy`。 级联操作是JPA提供的另一个强大功能,它允许我们在操作一个实体时自动处理与其关联的其他实体。JPA...
本文主要关注Hibernate中的一个核心概念——一对一(One-to-One)、一对多(One-to-Many)和多对一(Many-to-One)关联映射,特别是关于“一到多”单向和双向关联映射的配置心得。 首先,让我们了解“一到多”关联...
4. **注解配置**:在Hibernate中,使用`@ManyToOne`和`@OneToMany`注解来声明多对一和一对多的关系,并可以配置相关属性,如fetch策略、 cascade类型等。 5. **性能优化**:合理设计关联关系,减少不必要的JOIN操作...
**JPA 2 一对多双向关联关系** Java Persistence API(JPA)是Java平台上的一个标准,用于处理对象关系映射(ORM),使得开发者可以使用面向对象的方式操作数据库。在JPA中,一对多关联关系是常见的实体间关系类型...
本资料包"10_JPA详解_JPA中的一对多双向关联与级联操作.zip"聚焦于JPA中的一个重要概念——一对多双向关联及其级联操作。以下是对这一主题的详细阐述。 **一对多关联** 在关系数据库设计中,一对多关联是最常见的...
// 这里的@OneToMany表示一个User可以有多个Friend,且是双向关联 @OneToMany(mappedBy = "friend", cascade = CascadeType.ALL) private List<User> friends; // mappedBy指定反向引用字段,即在Friend类中的...
对于OneToMany关系,我们需要在父实体上使用@OneToMany注解,并在子实体上使用@ManyToOne注解来建立双向关联。 3. **@OneToMany注解**:此注解包含几个重要的属性,如`mappedBy`、`fetch`和`cascade`。`mappedBy`...
SSH一对多(两表双向关联查询)是一种在Java Web开发中常见的数据操作方式,主要涉及到Spring、Struts和Hibernate这三大框架的集成使用。在这个场景下,我们将关注于如何通过Hibernate来实现数据库中的两个表——...
在这个“Hibernate一对多双向自身关联demo代码”中,我们将深入理解如何实现一个实体类与其自身进行一对多的双向关联。这种关联在实际应用中常见于例如用户的朋友关系、员工的上下级关系等场景。 首先,让我们了解...