首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Spring Boot和Hibernate保护单个实体不会级联删除

问使用Spring Boot和Hibernate保护单个实体不会级联删除
EN

Stack Overflow用户
提问于 2019-05-07 23:33:05
回答 1查看 73关注 0票数 1

我有一个我正在做的项目,其中我有一个组,这个组有一个组图像(id和url)。当我删除一个特定的组时,我希望它也从MySql数据库中删除它的图像实体。

但是,数据库中的第一个组图像实体是一个通用图标的url,我将该图标放在其中,ID为1。

我知道,当我删除一个组时,相关的图像实体也会被删除,因为我将级联类型设置为all。

当使用通用图标的组被删除时,这会出现问题,因为它会将group_image_id设置为NULL,从而导致NPE。

我的问题是,有没有办法保护单个组映像实体不受级联删除的影响?

EN

回答 1

Stack Overflow用户

发布于 2019-05-08 00:18:32

我从来没有尝试过这样做,但是可以尝试的一个选项是自定义delete语句,该语句用于您想要防止在where子句中删除where的实体类型。您可以使用@SQLDelete注释来实现这一点,并将其包含在where子句“id=1 id <> 1”或类似语句中。

默认行为(未指定@SQLDelete)是按ID删除。

我建议尝试一下这样的方法:

代码语言:javascript
复制
@Table(name="mytable")
@SQLDelete("delete from mytable where id=? and id<>1")
public class MyEntity {
    ...
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56026025

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档