【问题标题】:JPA Custom query Delete from multiple tablesJPA自定义查询从多个表中删除
【发布时间】:2019-05-17 05:56:03
【问题描述】:

我有一个自定义查询,用于从 2 个表中删除记录,如下所示

@Repository
public interface RoamingStatusHistoryRepository extends JpaRepository<RoamingStatusHistory, String> {
    @Query("DELETE rsh,rs from RoamingStatusHistory rsh inner join RoamingStatus rs on rsh.msisdn = rs.msisdn where TIMEDIFF(NOW(),rsh.createdDate)>'00:00:30'")
    public List<Date> deleteByDate();
}

但是在 DELETE IntelliJ 说 from expected got rsh 并且在 rsh 之后出现错误说 alias definition or WHERE expected, got ','

如何解决此问题。上网查了一下,没找到解决办法

【问题讨论】:

  • 您不能从两个表中删除。或者您是否设法在数据库上使用 SQL 来做到这一点?
  • 是的,查询工作正常

标签: spring-boot jpa crud


【解决方案1】:

我假设这个查询是一个原生 SQL 查询,所以你必须添加 nativeQuery = true

@Repository
public interface RoamingStatusHistoryRepository extends JpaRepository<RoamingStatusHistory, String> {

    @Query("DELETE rsh,rs from RoamingStatusHistory rsh inner join RoamingStatus rs on rsh.msisdn = rs.msisdn where TIMEDIFF(NOW(),rsh.createdDate)>'00:00:30'",
           nativeQuery = true)
    public List<Date> deleteByDate();
}

【讨论】:

    猜你喜欢
    • 2020-02-21
    • 1970-01-01
    • 1970-01-01
    • 2017-08-12
    • 2014-03-03
    • 2020-06-16
    • 1970-01-01
    • 2017-12-04
    • 1970-01-01
    相关资源
    最近更新 更多