【发布时间】:2016-08-15 21:30:19
【问题描述】:
我决定将我的 Spring Boot 应用程序从 1.3.2 升级到 1.4.0。不幸的是,这破坏了我使用 @Query 注释指定的几乎所有 JPA 存储库查询。
例如
public interface MatchRepository extends JpaRepository<Match, MatchKey> {
// ...
@Query("SELECT min(m.hourOfTheMatch) FROM Match m WHERE m.primaryKey.matchday = :matchday")
DateTime getFirstMatchStartDateTime(Matchday matchday);
// ...
}
在这种情况下,MatchKey 是 @EmbeddableId,但我认为这不是根本情况。
查询以运行时异常结束。
原因:java.lang.IllegalStateException:在结果元组中找不到别名!确保您的查询定义了别名!
我不知道这是什么以及这些版本之间发生了什么变化。
我发现的是this JIRA 问题,但我没有在pom.xml 中直接使用spring-data-jpa 的版本。我在1.4.0 版本中只使用spring-boot-starter-parent。
【问题讨论】:
标签: hibernate spring-boot spring-data-jpa