Hibernate 一对多关系映射实战
在 ORM 开发中,一对多(One-to-Many)是最常见的关联关系之一。本文通过 Customer(客户)和 Order(订单)两个实体类,演示如何在 Hibernate 中使用 XML 映射文件配置这种关系,并重点解析 inverse、cascade 以及 lazy 加载策略对实际业务的影响。
1. 实体类定义
首先定义两个核心实体。注意集合类型的初始化以及外键字段的引用。
Customer.java
package com.xiangshuai.hibernate;
import java.util.HashSet;
import java.util.Set;
/**
* 顾客类
*/
public class Customer {
private Integer id;
private String cname;
// 默认初始化 Set,避免空指针异常
private Set<Order> orders = new HashSet<>();
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getCname() {
return cname;
}
public void setCname(String cname) {
this.cname = cname;
}
public Set<Order> getOrders() {
return orders;
}
public void setOrders(Set<Order> orders) {
this.orders = orders;
}
String {
+ id + + cname + + orders + ;
}
}

