【发布时间】:2022-01-18 00:06:27
【问题描述】:
每次我尝试将重复的产品添加到客户端类时都会出错。
org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "uk_8opk6otadh2pkvi9bghguwp89"
Detail: Key (products_id)=(500010) already exists.
我的实体
@Entity
public class Client {
@Id
private String id;
@OneToMany
private List<Product> products;
}
@Entity
public class Product {
@Id
private String id;
private Boolean foreign;
private Integer price;
}
当我打电话给.save() 时,hibernate 正在尝试重新保存一个已经存在的产品。我相信这是由于它级联的方式。
public Client addNewProduct(Client client, Product newProduct) {
List<Product> products = client.getProducts();
products.add(newProduct);
client.setProducts(products);
return clientRepository.save(client);
}
我只是希望能够将重复项添加到列表。我相信这是 & 应该是一个单向的关系。
【问题讨论】: