开发者社区> 问答> 正文

POST / PUT / DELETE方法时,即使使用cascade = CascadeType.A

我正在尝试使用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;}

用户类别:公共类别用户{

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

展开
收起
几许相思几点泪 2019-12-15 20:11:45 799 0
1 条回答
写回答
取消 提交回答
  • 精于基础,广于工具,熟于业务。

    您的报错信息是不是没有截取完整,这个报错一般是数据库那里有问题了。您的代码我看了下没啥问题

    2019-12-16 09:57:15
    赞同 展开评论 打赏
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载