我在员工和状态组之间有一个多对多关系,通过连接表employee_status_group实现。我想达到以下目标:
目前,当我尝试删除所有状态组时,出现以下异常:
Caused by: org.postgresql.util.PSQLException:
ERROR: update or delete on table "status_group" violates foreign key constraint "status_group_fk" on table "employee_status_group"
我的代码:
员工.kt
@Entity
data class Employee(
@Id
@GeneratedValue(strategy = GenerationType.UUID)
val id: UUID? = null,
@ManyToMany
@JoinTable(name = "employee_status_group",
joinColumns = [JoinColumn(name = "employee_id")],
inverseJoinColumns = [JoinColumn(name = "status_group_id")])
var statusGroups: MutableSet<StatusGroup> = mutableSetOf()
)
状态组.kt
@Entity
data class StatusGroup(
@Id
@GeneratedValue(strategy = GenerationType.UUID)
val id: UUID? = null
)
如何设置级联类型才能达到此目的?
答案很简单:没有级联类型可以满足您的需求。
在删除该组之前,您必须自己从Employee.statusGroups
中删除该组。