我在Sping Boot 应用程序的存储库中使用Hibernate和MySQL数据库实现了以下方法:
@Query("""
SELECT tw FROM TW tw
LEFT JOIN tw.docks d // where dock has flag isDeleted
WHERE d.id = :dockId
AND tw.status <> 'DELETED' AND SIZE(tw.docks) = 1
""")
我想在SIZE
函数中添加一些条件,以便只计算docks
和dock.isDeleted = false
。是否可以或者必须编写一些原生查询?
编辑:添加ON d.isDeleted = false
当然不是解决方案,因为它不会影响SIZE
的功能TimeWindow
表和Dock
表与第三表time_window_dock
表连接
1条答案
按热度按时间zpqajqem1#
您可以使用聚合函数编写按查询分组: