jpa实现根据条件删除_spring data jpa 实现逻辑删除

由于最近正在做一个开源的微服务系统。采用spring cloud, spring boot, axon 等等来做。然后呢。ORM打算采用的是spring data jpa。然后再做系统的时候就考虑到了一个持久化逻辑删除的问题。那么问题来了。spring data jpa并不支持逻辑删除。在网上找了很多以后。发现有个同学是这样做的。自己写一个BaseDao然后BaseDao继承PagingAndSortingRepository 这个类。再自己对BaseDao写一个实现。把SimpleJpaRepository 代码复制过来。再将里面的查询语句进行修改。同时实现逻辑删除的代码。原文链接如下。

感兴趣的同学可以去自行研究一下。刚开始我也觉得。这就是我想要的。但是写了之后。一直报错。找不到自定义的那几个逻辑删除属性。原来是自己写的实现没有生效。这让我很忧伤啊。然后继续逛,看到一个这样的方案。

@Entity

@Table(name="demo")

@SQLDelete(sql = "update demo set deleted = 1 where id = ?")

@Where(clause = "deleted = 0")

public class Demo{

@javax.persistence.Id

@GeneratedValue(strategy = GenerationType.AUTO)

private Long id;

@Column(name="deleted")

private Integer deleted = 0;

private String userName;

@Override

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值