休眠:如何进行EXISTS查询? (不是子查询)
|
例如:
EXISTS ( SELECT * FROM [table] WHERE ... )
如何使用Hibernate进行此类查询?
没有找到相关结果
已邀请:
7 个回复
炉挤仙挟
貉骂
语句。 UPD从Hibernate 5开始,在WHERE中将其作为谓词支持 您可以使用几种方法: 对于Hibrnate 5:您可以对同一表table3ѭ使用子查询。感谢作者贝娄。
,但这对性能不利。当可以使用EXISTS()时,请避免在SQL中使用COUNT() 使用ѭ5,但这会强制Hibernate加载所有字段并使对象水化,即使您只需要检查是否为null。 使用
,如果启用了二级缓存,它将更快地工作,但是如果您需要的标准不只是
,那么这将是一个问题。 您可以使用以下方法:
弛保矮瘦敖
苛肠倒俱
痴浪墨
。在Spring Data JPA中工作得很好。
倪蕊悲潍
,则可以通过ORM轻松检查实体的存在。这是一个Kotlin示例:
香腔弥胯瓤
使用Spring Data可以正常工作。