[英]delete join table rows cascade hibernate
我想從中間聯接表中刪除數據。 我正進入(狀態
對表“ eoclass”進行更新或刪除違反了表“ eostaff_user_eoclass”上的外鍵約束“ fk_o5mbi65xmqv60x0m5v0l1raf8”。詳情:密鑰(primary_key)=(51)仍從表“ eostaff_user_eoclass”中引用。
這是我的實體
@Entity
@Table(name = "EOSTAFF_USER")
@SequenceGenerator(name = "EOSTAFF_USER_SEQ", initialValue = 1, allocationSize = 1, sequenceName = "EOSTAFF_USER_SEQ")
public class EOStaffUser extends EOObject {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "EOSTAFF_USER_SEQ")
@Column(name = "PRIMARY_KEY")
public long primaryKey;
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
public List<EOClass> eoClassArray = new LinkedList<>();
}
和
@Entity
@Table(name = "EOCLASS", uniqueConstraints = @UniqueConstraint(columnNames = { "eoinstitute_primary_key",
"lkclass_primary_key", "lksection_primary_key", "lksubject_primary_key" }) )
@SequenceGenerator(name = "EOCLASS_SEQ", initialValue = 1, allocationSize = 1, sequenceName = "EOCLASS_SEQ")
public class EOClass extends EOObject {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "EOCLASS_SEQ")
@Column(name = "PRIMARY_KEY")
public long primaryKey;
}
您不能簡單地刪除EOClass
因為Hibernate不會從EOClass
表中刪除記錄。
為了您的映射,你需要加載EOStaffUser
,刪除EOclass
從eoClassArray
和合並整個EOStaffUser
實體。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.