【发布时间】:2019-07-25 04:31:09
【问题描述】:
您好,我遇到了这个错误,我找到的解决方案都没有奏效。 我有一个购物车实体:
@Data
@Entity
public class Cart {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String status;
@ManyToOne(cascade = CascadeType.MERGE)
@JoinColumn(name = "usr_id", nullable = false)
private User usr;
@ElementCollection(targetClass=String.class)
private List<String> productsBarcode = new ArrayList<>();
private long nutritional_score;
}
还有一个用户实体
@Entity
@Data
public class User {
@Id
@GeneratedValue
private Long id;
private String firstname;
private String lastname;
private String email;
private String phone;
@JsonIgnore
@OneToMany(mappedBy = "id",cascade=CascadeType.ALL)
private List<Cart> carts = new ArrayList<Cart>();
}
当我尝试使用以下 JSON 传递 POST 请求时:
{
"status": "in-progress",
"usr": {
"id": 1,
"firstname": "jhon",
"lastname": "koer",
"email": "ero@fk.fr",
"phone": "078542163"
},
"productsBarcode": [
"3029330003533",
"3029330003533"
]
}
但我收到此错误:
org.h2.jdbc.JdbcSQLException: Referential integrity constraint violation:
"FK8TNAV1OMIP1EBGI23DBBO8B8T: PUBLIC.CART FOREIGN KEY(USR_ID) REFERENCES PUBLIC.USER(ID) (100)"; SQL statement:
insert into cart (id, nutritional_score, status, usr_id) values (null, ?, ?, ?) [23506-197]
请问我该如何解决这个问题?
【问题讨论】:
-
您是否已经在数据库中插入了用户#1?你能分享你用来持久化那个 json 的代码吗?
标签: spring-boot spring-data-jpa hibernate-mapping