gpt4 book ai didi

java - 即使使用cascade=CascadeType.ALL,POST/PUT/DELETE 方法时也会出现约束 hibernate 异常

转载 作者:行者123 更新时间:2023-12-01 19:22:38 25 4
gpt4 key购买 nike

我正在尝试使用 POST Rest API 将新对象添加到 h2-内存数据库。我收到此错误:嵌套异常是 org.hibernate.exception.ConstraintViolationException

在我的费用实体中,我放置了@ManyToOne(cascade=CascadeType.ALL),因此不应在创建费用对象之前创建类别对象,不是吗?

提前致谢。这是我的实体:公开课费用{

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", updatable = false, nullable = false)
private Long id;
private String description;
@Column(name = "expense_date")
private Instant expenseDate;
@Column(name = "location")
private String location;
@ManyToOne(cascade={CascadeType.ALL})
@Nullable
@JoinColumn(name = "category_id", referencedColumnName = "id", nullable = false)
private Category category;
@ManyToOne(cascade=CascadeType.ALL)
@JoinColumn(name = "user_id", referencedColumnName = "id", nullable = false)
@Nullable
@JsonIgnore
private User user;}

类别类公开课类别{

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", updatable = false, nullable = false)
private Long id;
@NonNull
private String name;}

用户类别:公共(public)类用户{

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id", updatable = false, nullable = false)
private Long id;
private String name;
private String email;}

最佳答案

您的费用类别定义有误。注释 @Nullable - 允许 NULL 值,而 nullable = false - 不允许。

关于java - 即使使用cascade=CascadeType.ALL,POST/PUT/DELETE 方法时也会出现约束 hibernate 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59343511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com