【问题标题】:Spring data JPA expression using deleteBy使用 deleteBy 的 Spring 数据 JPA 表达式
【发布时间】:2020-04-26 19:43:34
【问题描述】:

我正在使用spring-data-jpa进行删除操作。

目前,我有一个类似的查询:

@Modifying
@Transactional
@Query("Delete from student s where(:studentName is null Or s.studentName =:studentName) and s.studentId IN(:studentIds)")
int deleteByStudentIdAndRollNo(@Param("studentName") String studentName, @Param("studentIds") List<Integer> studentIds)

上述查询工作正常,并返回表中成功删除的行数。
但问题是,现在我必须返回已删除的List&lt;Students&gt;,而不是删除的记录数。


我知道@Query 将始终返回成功删除记录的计数。

我尝试使用 deleteBy,如下所示:

List&lt;Student&gt; deleteByStudentIdStudentNameIsNullOrStudentNameIsAndStudentIdIN , 但这不起作用。
有什么方法可以获取已删除学生的列表吗?

【问题讨论】:

    标签: spring-boot jpa spring-data-jpa


    【解决方案1】:

    本文展示了如何返回已删除的记录:Spring Data JPA – Derived Delete Methods

    试试这个代码:

    List<Student> deleteAllByStudentNameIsNullOrStudentNameAndStudentIdIn(String studentName, List<Integer> studentIds);
    

    但不能确定这是否可行,因为我不知道您学生的模型结构。

    【讨论】:

    • 谢谢,它成功了。能否请您分享一个参考文档,以便我也可以学习?
    • 什么文件?什么意思?
    猜你喜欢
    • 2015-09-29
    • 2014-08-28
    • 1970-01-01
    • 2016-06-11
    • 2015-03-19
    • 2017-02-05
    • 1970-01-01
    • 2019-02-16
    • 2021-07-13
    相关资源
    最近更新 更多