hql删除mysql语句_mysql-使用Hibernate @SQLDelete对所有实体进行软删除
我们有一个相当复杂的数据模型,并且在MySQL之上使用Hibernate和Spring Data JPA.我们有一个基类,所有域对象都可以扩展以最小化样板代码.我希望能够仅使用此类在所有域对象中添加软删除功能.但是,@ SQLDelete在子句中需要表名称:
@SQLDelete(sql="UPDATE (table_name) SET deleted = '1' WHERE id = ?")
@Where(clause="deleted <> '1'")
有人知道一种概括SQLDelete语句并允许扩展域对象填充其自己的表名的方法吗?
解决方法:
如果使用hibernate和@SQLDelete,则无法轻松解决您的问题.但是您可以考虑使用Spring Data的表达式语言进行软删除的另一种方法:
@Override
@Query("select e from #{#entityName} e where e.deleteFlag=false")
public List findAll();
//recycle bin
@Query("select e from #{#entityName} e where e.deleteFlag=true")
public List recycleBin();
@Query("update #{#entityName} e set e.deleteFlag=true where e.id=?1")
@Modifying
public void softDelete(String id);
//#{#entityName} will be substituted by concrete entity name automatically.
像这样重写基础存储库.所有子存储库接口都将具有软删除功能.
标签:spring-data-jpa,spring-data,hibernate,mysql
来源: https://codeday.me/bug/20191201/2084343.html
hql删除mysql语句_mysql-使用Hibernate @SQLDelete对所有实体进行软删除相关推荐
- hql删除mysql语句_hibernate -- HQL语句总结
本章介绍了Hibernate的几种主要检索方式:HQL检索方式.QBC检索方式.SQL检索方式.HQL是Hibernate Query Language的缩写,是官方推荐的查询语言.QBC是Query ...
- mysql删除索引语句_MySQL:使用SQL语句删除所有索引
删除所有索引 可利用ALTER TABLE或DROP INDEX语句来删除索引.这里使用ALTER TABLE,首先查询所有索引,然后拼接成删除语句,复制执行即可 #拼接删除索引的语法 SELECT ...
- 删除mysql表_Mysql 删除数据表的三种方式详解
用法: 1.当你不再需要该表时, 用 drop; 2.当你仍要保留该表,但要删除所有记录时, 用 truncate; 3.当你要删除部分记录或者有可能会后悔的话, 用 delete. 删除程度可从强到 ...
- yum删除mysql数据库_MySQL数据库之Centos中彻底删除Mysql(rpm、yum安装的情况)
本文主要向大家介绍了MySQL数据库之Centos中彻底删除Mysql(rpm.yum安装的情况) ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 我用的centos6,mysq ...
- hql删除mysql语句_hibernate hql删除异常
hql语句:dao.executeHql("delete Student As s where s.course.teacher.tno"=tno); 错误信息:返回sql语句:d ...
- hql删除mysql语句_如何使用delete语句删除数据
如何使用delete语句删除数据 发布时间:2021-01-15 10:57:41 来源:亿速云 阅读:83 作者:小新 栏目:数据库 这篇文章主要介绍如何使用delete语句删除数据,文中介绍的非常 ...
- mysql语句_Mysql语句
------------恢复内容开始------------ 存储引擎 存储引擎是用于根据不同的机制处理不同的数据. 查看mysql中所用引擎: show engines: create table ...
- hibernate mysql语句_打印hibernate的SQL语句的几种办法
摘要 使用hibernate时,我们常常需要查看hibernate实际提交到数据库的SQL及相关参数.这里提供几种方案,供大家在开发中使用. 使用hibernate-configuration 这也许 ...
- 删除mysql指令_MySQL常用命令学习笔记
本文转载自[微信公众号:WalkingCloud,ID:WalkingCloud2018]经微信公众号授权转载,如需转载与原文作者联系 MySQL常用命令学习笔记 一.数据库相关操作 1)创建数据库 ...
最新文章
- [云炬创业学笔记]第二章决定成为创业者测试10
- 阿里云消息队列python_41. Python Queue 多进程的消息队列 PIPE
- SQL Azure Reporting CTP
- 耗时n年,38页《数据仓库知识体系.pdf》(数据岗位必备)
- bootstrap-table前端修改后台传来的数据重新进行渲染
- python如何放一张图片上去_python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码...
- 20190825 On Java8 第十二章 集合
- 线性模型第2讲:岭回归与分类
- Windows 中实现 Java 本地方法
- [转帖]无法将临时对象绑定到非常量引用
- Python学习笔记——python基础 2. 高级变量类型(列表、元祖、字典)
- Arduino基础学习
- 从sk_buff中的线性区与非线性区到 bpf_skb_pull_data
- ECCV 2020 best paper: RAFT算法解析
- 佟丽娅现身活动火力全开 黑色裹身裙时髦大气,未修图也美的惊艳
- 记canvas优化图片抠图历程
- 怎么关闭自动启动的屏幕键盘
- 什么软件可以测试sd卡,如何做SD卡测试和SD卡测试工具
- HashMap线程安全问题详细解析
- 2.Cognition(human brain)
热门文章
- csvtk:高效命令行版极简dplyr
- TEE综述:植物—土壤反馈(PSF):自然和农业科学间的桥梁
- KEGG在线数据库使用攻略
- R语言使用caret包构建遗传算法树模型(Tree Models from Genetic Algorithms )构建回归模型、通过method参数指定算法名称
- python使用matplotlib可视化线图(line plot)、在可视化图像中的指定位置添加横线(add horizontal line in matplotlib plot)
- R语言ggplot2可视化使用ggplotly(plotly version of R)可视化散点图(scatter plot)
- R语言构建xgboost模型使用早停法训练模型(early stopping):自定义损失函数(目标函数,loss function)、评估函数(evaluation function)
- R语言使用ggpubr包绘制出版社、编辑、审稿人要求的可视化图形实战
- R语言na.omit函数删除NA值实战
- python使用imbalanced-learn的ADASYN方法进行上采样处理数据不平衡问题