一个用户可以有多个订单,订单相对于用户的关系就是多对一的关系。
在这里一对多的关系是@OneToMany,默认是延迟加载的。当然客户对象相对于订单是级联删除的。
/**
* @author Chou
* @since 2012-8-8
* ...客户实体(一对多双向关联)
*
*/
@Entity
@Table(name = "TAB_CUSTOMER")
@SequenceGenerator(name = "seq", sequenceName = "SEQ_CUSTOMER", allocationSize = 1)
public class Customer {
private Long id;
private String cname;
private String address;
private String phone;
private Set<Order> orders = new HashSet<Order>();
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq")
public Long getId() {
return id;
}
......
@OneToMany(mappedBy = "customer", fetch = FetchType.EAGER,cascade = CascadeType.REMOVE)
//@Fetch(value = FetchMode.JOIN)
public Set<Order> getOrders() {
return orders;
}
public void setOrders(Set<Order> orders) {
this.orders = orders;
}
}
/**
* @author Chou
* @since 2012-8-8
* ...订单实体
*
*/
@Entity
@Table(name = "TAB_ORDER")
@SequenceGenerator(name = "seq", sequenceName = "SEQ_ORDER", allocationSize = 1)
public class Order {
private Long id;
private String orderno;
private Double money;
private Customer customer;
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq")
public Long getId() {
return id;
}
......
@ManyToOne
@Cascade(value = { org.hibernate.annotations.CascadeType.SAVE_UPDATE })
@JoinColumn(name = "CUSTOMERID")
public Customer getCustomer() {
return customer;
}
public void setCustomer(Customer customer) {
this.customer = customer;
}
}
分享到:
相关推荐
标题“Hibernate ORM - 一对多双向关联关系”指的是在数据库建模中,Hibernate ORM(对象关系映射)框架如何处理一个实体类(如User)与多个实体类(如Article)之间的关系。在这种关系中,一个用户可以拥有多个文章...
多对多双向关联 <br>注意映射规则: <set name="roles" table="t_user_role"><br> <key column="userid"/><br> <many-to-many class="com.bjsxt.hibernate.Role" column="roleid"/> </set><br> table...
本主题将深入探讨如何使用Hibernate实现一对一双向关联关系,并通过源码解析这一过程。 一对一双向关联关系指的是两个实体类之间存在一对一的关系,且在各自的类中都可以直接访问对方。这种关联可以通过注解或XML...
“Hibernate 一对多,多对一,一对多双向关联”是指在Java持久化框架Hibernate中,实体间常见的三种关联关系。在数据库设计中,这种关联关系是常见的,例如一个用户可以有多个订单(一对多),一个订单对应一个用户...
标题"Hibernate一对一主键关联映射(双向关联)"中的"主键关联"指的是两个实体通过共享相同的主键来建立关联。"双向关联"则意味着在两个实体类中,都可以直接访问到对方的实例,即在实体A中有一个对实体B的引用,...
在这个“Hibernate一对多双向自身关联demo代码”中,我们将深入理解如何实现一个实体类与其自身进行一对多的双向关联。这种关联在实际应用中常见于例如用户的朋友关系、员工的上下级关系等场景。 首先,让我们了解...
“Hibernate ORM - 一对多双向连接表关联关系”这个标题指出我们要讨论的是Hibernate ORM框架中的一种特定数据库关联模型,即一对多的双向关联。在Hibernate中,ORM(对象关系映射)是一种技术,它允许我们用面向...
本主题聚焦于“Hibernate双向一对一关联映射”的注解实现,这是一种高级的数据库设计模式,用于处理两个实体之间一对一的关系。 在Hibernate中,一对一关联映射分为单向和双向。单向一对一映射通常涉及一个实体持有...
这种关联关系可以是单向的,也可以是双向的,而这里的"hibernate关联关系之一对一双向关联"着重讨论的是后者。双向关联意味着两个实体类都可以直接访问对方,提供了更方便的数据操作。 在Hibernate中,一对一双向...
在Hibernate中,实现多对多双向关联主要涉及以下步骤: 1. **配置实体类**:首先,你需要为每个参与关联的实体定义一个Java类,并添加相应的属性。例如,对于“学生-课程”关系,可以有`Student`和`Course`类,它们...
本篇将详细讲解如何使用Hibernate实现一对一唯一外键(Unique Foreign Key)关联映射,并以双向关联为例进行深入探讨。 一、Hibernate一对一关联类型 一对一关联在现实世界中很常见,例如一个人只有一个身份证,一...
本文将深入探讨如何使用Hibernate注解实现基于外键的一对多双向关联。我们将通过具体实例来解析这个主题,并结合源码分析其工作原理。 首先,我们要明白一对多关联意味着一个实体可以拥有多个关联的实体。在数据库...
对于"hibernate双向一对多关联映射(注解版)",我们可以按照以下步骤进行: 1. **定义实体类**:首先,我们需要创建两个实体类,例如`Parent`和`Child`。在`Parent`类中,`Child`是一个集合,而在`Child`类中,`...
- 虽然一对一关联提供了便利,但过多的一对一关联可能会影响性能,因为每次查询可能涉及多个表,增加数据库访问的复杂性。因此,应谨慎设计实体间的关系。 8. **实例应用** - 在实际项目中,一对一关联常用于用户...
在数据库中,一对一双向关联意味着两个表(或实体类)之间存在一对一的关系,并且双方都可以导航到对方。例如,一个员工可能只属于一个部门,而一个部门也可能只包含一个经理,这样的关系就是一对一双向的。在...
本文主要探讨的是Hibernate中的两种关联关系:多对一单向关联和多对一双向关联。通过理解这两种关联方式,我们可以更好地设计和实现复杂的数据库模型。 首先,我们来看**多对一单向关联**。这种关联意味着一个实体...
**描述:** 由于描述为空,我们无法从描述中获取具体的信息,但通常在一对多双向关联中,我们会关注如何在Hibernate配置文件或注解中设置这种关系,以及如何在Java代码中进行操作,如保存、更新和查询等。...