Hibernate中哪个注解是用来配置相互关联查询的?
时间: 2024-02-25 11:59:27 浏览: 27
Hibernate 中,`@ManyToOne` 和 `@OneToMany` 注解是用来配置相互关联查询的。
`@ManyToOne` 注解用于定义多对一关系,表示一个实体类中的多个对象与另一个实体类中的一个对象相关联。该注解通常用于关系被维护方,用于指定关系维护方的外键列。例如:
```
@Entity
public class Order {
@Id
private Long id;
@ManyToOne
@JoinColumn(name = "customer_id")
private Customer customer;
// other fields
// getters and setters
}
```
在这个示例中,`Order` 实体类中的一个订单与 `Customer` 实体类中的一个客户相关联。我们使用 `@ManyToOne` 和 `@JoinColumn` 注解来定义多对一关系,并将外键列指定为 `customer_id`。
`@OneToMany` 注解用于定义一对多关系,表示一个实体类中的一个对象与另一个实体类中的多个对象相关联。该注解通常用于关系维护方,用于指定关系被维护方的外键列。例如:
```
@Entity
public class Customer {
@Id
private Long id;
@OneToMany(mappedBy = "customer")
private Set<Order> orders = new HashSet<>();
// other fields
// getters and setters
}
```
在这个示例中,`Customer` 实体类中的一个客户与 `Order` 实体类中的多个订单相关联。我们使用 `@OneToMany` 和 `mappedBy` 注解来定义一对多关系,并将关系维护方指定为 `customer` 属性。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)