Spring Data JDBC不生成派生查询
Posted
技术标签:
【中文标题】Spring Data JDBC不生成派生查询【英文标题】:Spring Data JDBC not generating derived Query 【发布时间】:2019-11-23 22:37:34 【问题描述】:我正在使用 SpringBoot 2.2.1.RELEASE 自动引入的 Spring Data JDBC (v1.1.1)。对于下面的存储库,该方法应在启动时自动派生查询。
interface AccountRepository extends CrudRepository<Account, Long>
long countByLastName(String lastName);
...
相反,我得到了这个..
Caused by: java.lang.IllegalStateException: No query specified on countByLastName
at org.springframework.data.jdbc.repository.support.JdbcRepositoryQuery.determineQuery(JdbcRepositoryQuery.java:200) ~[spring-data-jdbc-1.1.1.RELEASE.jar:1.1.1.RELEASE]
我的实体看起来像..
public class Account
@Id
private Long id;
private final String firstName;
private final String lastName;
知道我为什么会遇到这个问题吗?
【问题讨论】:
【参考方案1】:2.0.0 版附带了对 Spring Data JDBC 查询派生的支持。
请注意,查询派生目前仅支持存储在聚合根表中以进行过滤和排序的属性。
【讨论】:
我更新了答案,因为 Spring Data JDBC 最近添加了对查询派生的支持。以上是关于Spring Data JDBC不生成派生查询的主要内容,如果未能解决你的问题,请参考以下文章
Spring Data JDBC - 如何使用自定义 ID 生成
基于spring-boot-data-jdbc的RowMapper实例的初始化配置,配置内容和实体类的代码由测试类生成