Hibernate4之多对一单向关联

本文探讨了一个客户与多个订单之间的多对一关系,并解释了如何在Hibernate中配置这种关系以实现懒加载,确保在加载订单时能够一并获取到客户信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

[size=medium]一个客户可以有多个订单,订单对应一个客户的关系就是多对一。
在这里多对一的关系是@ManyToOne,默认是非延迟加载的。如果要设置懒加载必须设置fetch = FetchType.LAZY,但是既然配置了多对一,肯定是希望加载订单的时候加载出客户信息的。
[/size]

/**
* @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;

@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq")
public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

......

}



/**
* @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;
}
public void setId(Long id) {
this.id = 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;
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值