在Hibernate中,使用注解配置一對多關系需要使用@OneToMany注解。下面是一個示例:
假設有兩個實體類,一個是Customer類,另一個是Order類,一個顧客可以擁有多個訂單。在Customer類中配置一對多關系如下:
@Entity
@Table(name = "customers")
public class Customer {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String name;
@OneToMany(mappedBy = "customer", cascade = CascadeType.ALL)
private Set<Order> orders;
// 省略getter和setter方法
}
在Order類中配置多對一關系如下:
@Entity
@Table(name = "orders")
public class Order {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String item;
@ManyToOne
@JoinColumn(name = "customer_id")
private Customer customer;
// 省略getter和setter方法
}
在Customer類中使用@OneToMany注解,指定了mappedBy屬性為"customer",表示Order類中的customer屬性維護了關聯關系。同時還使用了cascade屬性設置級聯操作,當刪除顧客時,同時刪除相關的訂單。
在Order類中使用@ManyToOne注解,指定了JoinColumn屬性為"customer_id",表示該屬性在數據庫中對應的外鍵列名。這樣就建立了Customer類和Order類之間的一對多關系。
注意:以上示例中使用了@Entity、@Table、@Id和@GeneratedValue注解配置實體類和主鍵生成策略,這些是Hibernate的基本注解配置,如果你還不熟悉,可以先學習一下。