不存在具有给定标识符的行:Hibernate Merge

时间:2017-09-06 03:47:15

标签: hibernate merge

在尝试为父级执行session.merge(entity)时,我得到的是没有给定标识符的行存在异常。基本上,我在同一个表中有@OnetoMany。以下是我遵循的步骤。

  1. 加载了父母。
  2. 使用session.delete(entity)删除了孩子,并使用iterator remove将其从父实体中删除。
  3. 对已加载的父实体进行了一些更新。
  4. 尝试使用session.merge(实体)合并父实体。在这一行,我得到没有给定标识符存在的行异常。 我还尝试在删除子级之前在父级中进行更新但是同样的错误。以下是我的实体。
  5.     public class Account{  
        @Id  
        @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "idgen")  
        protected Long id;  
    
        @Column(name = "SOME_ID")  
        private String someId;  
    
        private static final long serialVersionUID = 1L;  
        @JoinColumn(name = "PARENT_ACCT")  
        @ManyToOne  
        private Account parentAccount;  
    
        @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = 
        "parentAccount")  
        private Set<Account> sleeves;  
        }
    

0 个答案:

没有答案