将本机查询转换为jpa查询

41zrol4v  于 2021-07-26  发布在  Java
关注(0)|答案(0)|浏览(262)

我需要将本机查询转换为jpa查询。我可以做大部分的if,但是有一部分有一个派生表。这是一部分:

WHERE
  nodeId = :nodeId
  AND (
    maintenanceTask IS NULL
    AND
    (
    -- derived table part --
      SELECT count(*) FROM 
        (SELECT maintenanceTask FROM TableName n2 WHERE n2.maintenanceTaskId = :maintenanceTaskId AND nodeId!= :nodeId ) str)
    ) = 0
  )
  -- other condition --

我听说SpringDataJPA不支持派生表。所以我想知道应该怎么做。可能会有这样的问题:

SELECT maintenanceTask FROM TableName n2 WHERE n2.maintenanceTaskId = :maintenanceTaskId AND nodeId!= :nodeId

然后在第一个查询中使用该查询的结果:

AND
  :result = 0

谢谢你的建议

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题