在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的基本注解配置,如果你还不熟悉,可以先学习一下。