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