Spring-data-jpa 投影生成查询不正确
Posted
技术标签:
【中文标题】Spring-data-jpa 投影生成查询不正确【英文标题】:Spring-data-jpa projection generating query incorrectly 【发布时间】:2016-08-07 21:09:26 【问题描述】:我制作了一个使用 spring-data-jpa 投影功能的示例项目,但它生成的查询不正确。它不是仅获取声明的字段,而是获取整个实体。这是示例项目的链接:
https://github.com/ravshansbox/spring-data-jpa-projection-demo
谁能解释原因?
【问题讨论】:
您是否尝试过客户存储库@Query("your query", nativeQuery = true) 为什么要编写自定义查询?为什么是原生的? 它只是方法,不是答案,同样的例子看github.com/spring-projects/spring-data-examples/commit/… 【参考方案1】:我发现了问题,是版本。将 spring-boot 升级到 1.4.0.RELEASE 解决了这个问题。
【讨论】:
【参考方案2】:我有完全相同的问题,我已经在使用 spring-boot 1.5.1.RELEASE。 您确定将 spring-boot 更新到 1.4.0.RELEASE 解决了您的问题,而不是有所不同吗?
我的界面:
public interface CommentWithoutData
public Long getId();
public String getUsername();
生成的(SQL)查询:从评论comment0_中选择comment0_.id 作为id1_0_,comment0_.created 作为created2_0_,comment0_.data 作为data3_0_,comment0_.username 作为username4_0_
问候
【讨论】:
是的,我敢肯定,使用 1.4.0.RELEASE 它可以按预期工作。 我也用 1.5.1.RELEASE 对其进行了测试,工作正常。 好的,谢谢。很奇怪。我不知道为什么它在我的情况下不起作用。我会试着弄清楚。你对我的代码有什么想法吗? 是的,请在某个地方发布,以便我可以访问。以上是关于Spring-data-jpa 投影生成查询不正确的主要内容,如果未能解决你的问题,请参考以下文章
在 spring-data-jpa 中通过布尔属性查询而不使用方法参数
没有 JPQL 查询的 Spring-data-jpa 中的 CURRENT_DATE