有谁知道如何使用 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 must not be null!"}
原文由 Alax 发布,翻译遵循 CC BY-SA 4.0 许可协议
创建投影界面
然后在您的存储库界面中返回该类型而不是用户类型
投影接口中的 get 方法必须匹配 JPA 存储库中定义类型的 get 方法,在本例中为 User。 “findBySomePropertyOnTheObjectThatIsNotNull”允许您根据某些标准获取实体列表(与 Iterable 相对),如果唯一标识符(或任何其他 NonNull 字段)不为空,则 findAll 可以简单地得到。