如何解决JPQL JPA查询如何获取命名参数集合的大小
public interface RequestRepository extends JpaRepository<Request,Long> {
@Query("SELECT r FROM Request r " +
"LEFT JOIN FETCH r.pathParams pp " +
"WHERE r.responseCode = :code " +
"AND r.requestMethod = :method " +
"AND r.requestPath = :path " +
"AND r.requestBody = :body " +
"AND r.apiDetails = :apidetails " +
"AND (pp IN :pathparams OR r.pathParams IS EMPTY) " +
"AND SIZE(r.pathParams) = :pathparamssize "
)
Optional<Request> findByDetails(
@Param("code") String code,@Param("method") RequestMethod method,@Param("path") String path,@Param("body") RequestBody body,@Param("apidetails") ApiDetails apidetails,@Param("pathparams") Set<PathParam> pathparams,@Param("pathparamssize") Integer pathparamssize
);
}
它可以工作,但我相信可以用更好的方法完成
如您所见,我声明了冗余参数“ pathparamssize”(IMO)
我试图这样做,例如“ AND SIZE(r.pathParams)= SIZE(:pathparams)”,但它不想与“ SIZE(:pathparams)”一起使用
你能建议点什么吗?
非常感谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。