为了账号安全,请及时绑定邮箱和手机立即绑定

错误:org.hibernate.PersistentObjectException:

错误:org.hibernate.PersistentObjectException:

繁星淼淼 2021-12-10 16:35:21
我正在研究 Spring-boot+ ReactJs 应用程序。基本上我有 2 个实体(品牌和家庭),它们具有一对多的关系。@Entity@Table(name = "brands")public class Brand extends UserDateAudit {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    private Long id;    @NotBlank    @Size(max = 140)    private String name;    @Lob @JsonProperty("image")    private byte[] image;    @OneToMany    private Set<Family> family;和@Entity@Table(name = "family")public class Family extends UserDateAudit {        @Id        @GeneratedValue(strategy = GenerationType.IDENTITY)        private Long id;        @NotBlank        @Size(max = 140)        private String name;        @JsonIgnoreProperties({"hibernateLazyInitializer", "handler"})        @ManyToOne(fetch = FetchType.LAZY,cascade=CascadeType.ALL, optional = false)        @JoinColumn(name = "brand_id")        private Brand brand;当我创建“家庭”对象时,它会引发以下错误。org.hibernate.PersistentObjectException: detached entity passed to persist: com.example.polls.model.Brand    at org.hibernate.event.internal.DefaultPersistEventListener.onPersist(DefaultPersistEventListener.java:124) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]    at org.hibernate.internal.SessionImpl.firePersist(SessionImpl.java:807) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]    at org.hibernate.internal.SessionImpl.persist(SessionImpl.java:774) ~[hibernate-core-5.2.17.Final.jar:5.2.17.Final]createFamily() 如下。public Family createFamily(@Valid FamilyRequest familyRequest) {            Family family = new Family();            family.setName(familyRequest.getName());            family.setBrand(familyRequest.getBrand());            return familyRepository.save(family);        }我不确定我为brand_id 设置的值是否正确。请帮我解决这个问题。
查看完整描述

1 回答

?
森栏

TA贡献1810条经验 获得超5个赞

您的映射不正确。双向OneToMany 的一侧必须使用mappedBy 属性。

在 ManyToOne 上级联所有操作是没有意义的:当你创建一个家庭时,你不想创建它的品牌:它已经存在。当您删除一个系列时,您不想删除它的品牌,因为它被许多其他系列引用。


查看完整回答
反对 回复 2021-12-10
  • 1 回答
  • 0 关注
  • 276 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信