@Entity
data class Basket (
@OneToOne
var user: User? = null,
@ManyToOne
var goods: Goods? = null,
...
)
@Entity
data class User (
@OneToOne(mappedBy = USER, cascade = [CascadeType.REMOVE])
var basket: Basket? = null,
...
)
@Entity
data class Goods (
@OneToMany(mappedBy = "Goods", cascade = [CascadeType.ALL])
var basket: MutableList<Basket> = mutableListOf(),
...
)
basketRepository.deleteById(id)
还请参见此Hibernate线程https://discourse.hibernate.org/t/instance-save-save-transient-before/10293因此,我试图将CascadeType设置为持久并合并。使用EntityManager merge()函数,将用户/篮设置为null。