JpaRepository表中添加新的数据,包括外键
时间: 2023-06-12 12:02:56 浏览: 104
在Spring JPA中汇总来自多个表的数据的正确方法
要向JpaRepository表中添加新的数据,需要先创建一个实体对象,设置好对应的属性值,然后调用JpaRepository的save()方法即可保存到数据库中。
如果实体对象中包含外键关联的属性,需要先查询出关联的实体对象,设置到对应的属性中,再保存主实体对象。例如,假设有两个实体类,分别为Order和Customer,Order中包含一个customer属性,表示订单所属的客户:
```java
@Entity
public class Order {
@Id
private Long id;
private String orderNo;
@ManyToOne
@JoinColumn(name = "customer_id")
private Customer customer;
// getter和setter方法省略
}
@Entity
public class Customer {
@Id
private Long id;
private String name;
// getter和setter方法省略
}
```
如果要创建一个新的订单,并设置订单所属的客户为id为1的客户:
```java
Order order = new Order();
order.setOrderNo("123456");
Customer customer = customerRepository.findById(1L).orElse(null);
order.setCustomer(customer);
orderRepository.save(order);
```
其中,customerRepository是用于操作Customer实体的JpaRepository。需要注意的是,如果指定的客户不存在,需要进行判空处理。此外,如果Order中定义了级联保存,也可以省略手动设置customer属性的步骤,直接保存Order即可。
阅读全文