spring - Spring Data中具有不同返回值的相同查询方法和参数

标签 spring jpa spring-data spring-data-jpa

我想使用投影来为相同的查询返回更少的元素。

Page<Network> findByIdIn(List<Long> ids);
Page<NetworkSimple> findByIdIn(List<Long> ids);

由于查询是使用方法的名称创建的,我必须使用哪些选项来执行相同的查询但名称不同?

最佳答案

我今天遇到了这个,接受的答案实际上是不正确的;您可以更改方法名称而不改变行为。根据 Spring Data 文档:

Any text between find (or other introducing keywords) and By is considered to be descriptive unless using one of the result-limiting keywords such as a Distinct to set a distinct flag on the query to be created or Top/First to limit query results.

因此您可以有一个名为 findByIdIn 的方法和另一个名为 findNetworkSimpleByIdIn 的方法,这两个方法将返回相同的数据(根据定义的返回类型可选择转换为不同的形式).

关于spring - Spring Data中具有不同返回值的相同查询方法和参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36548298/

相关文章:

spring - 如何使用 Spring Integration DSL 配置 StepExecutionListener

java - Hibernate 内连接 ManyToOne

java - 如何创建 JPA 二级缓存以与实体的辅助键一起使用?

java - 如何正确设置 @OneToOne 与 JPA Hibernate 的关系?

mysql - 删除 Hibernate 中键“PRIMARY”的重复条目 '59'

java - ExceptionHandler 调用但不影响 http 响应

java - 组织.hibernate.HibernateException : createQuery is not valid without active transaction

java - Spring Data CouchBase配置: Database does not exists error

java - get 无法访问 EntityBean 错误,其中删除 javaEbean 依赖项

java - SimpleDateFormat 不解析毫秒和 MySql 舍入日期