gpt4 book ai didi

spring - 使用 Spring Data JPA 选择一列

转载 作者:IT老高 更新时间:2023-10-28 13:44:27 29 4
gpt4 key购买 nike

有人知道如何使用 Spring Data JPA 获取单个列吗?我在我的 Spring Boot 项目中创建了一个如下所示的存储库,但在访问 Restful URL 时总是得到 {"cause":null,"message":"PersistentEntity must not be null!"} 错误。

@RepositoryRestResource(collectionResourceRel = "users", path = "users")
public interface UsersRepository extends CrudRepository<Users, Integer> {

@Query("SELECT u.userName FROM Users u")
public List<String> getUserName();
}

然后,如果我访问像 ../users/search/getUserName 这样的 Restful URL,我会收到错误消息:{"cause":null,"message":"PersistentEntity 不能为空!"}

最佳答案

创建投影界面

public interface UserNameOnly {
String getUserName();
}

然后在您的存储库界面中返回该类型而不是用户类型

public interface UserRepository<User> extends JpaRepository<User,String> {
List<UsernameOnly> findNamesByUserNameNotNull();
}

投影接口(interface)中的 get 方法必须匹配 JPA 存储库中定义类型的 get 方法,在本例中为 User。“findBySomePropertyOnTheObjectThatIsNotNull”允许您根据某些条件获取实体列表(而不是 Iterable),如果唯一标识符(或任何其他 NonNull 字段)不为空,则 findAll 可以简单地获得。

关于spring - 使用 Spring Data JPA 选择一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28912422/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com