使用 spring-boot 存储库返回单个属性

Posted

技术标签:

【中文标题】使用 spring-boot 存储库返回单个属性【英文标题】:Return single property with spring-boot repository 【发布时间】:2017-01-09 08:58:57 【问题描述】:

今天我使用 spring-data-jpa 创建查询。 是否可以从对象中只返回一个属性? 例如:

public interface UsuarioRepository extends MongoRepository<Usuario, String> 

    String findNameByMailAndPassword(String mail, String pass);


我只想返回名称,而不是整个 Usuario 对象。

【问题讨论】:

你所做的应该有效,至少它适用于 sprign-data-jpa。你已经试过了吗? 【参考方案1】:

MongoDB 只返回标准查询的 JSON 文档。您可以尝试@Query。@Query 中的 fields 属性将导致仅返回设置为 1 的字段。

public interface UsuarioRepository extends MongoRepository<Usuario, String>

  @Query(value=" 'mail' : ?0, 'pass' : ?0 ", fields=" 'name' : 1")
  Usuario findNameByMailAndPassword(String mail, String pass);


这将仅返回 Usuario 对象的名称和 Id 属性。

【讨论】:

以上是关于使用 spring-boot 存储库返回单个属性的主要内容,如果未能解决你的问题,请参考以下文章

如何在单个 JDBC 连接中执行多个 JPA 查询

如何将 fork 存储库添加到 CocoaPod 的 .podspec 文件中的“s.dependency”属性?

如何使用单个实体或单个存储库设计两个不同的项目?

从远程 git 存储库获取单个文件

将 s-s-rS 报告中的多个页面呈现为单个页面

spring-boot 在单个 Web 应用程序路径上设置基本身份验证?