有谁知道如何使用 Spring Data JPA 获取单个列?我在 Spring Boot 项目中创建了一个如下所示的存储库,但总是得到{"cause":null,"message":"PersistentEntity must not be null!"}
访问 Restful URL 时出错。
@RepositoryRestResource(collectionResourceRel = "users", path = "users")
public interface UsersRepository extends CrudRepository<Users, Integer> {
@Query("SELECT u.userName FROM Users u")
public List<String> getUserName();
}
然后如果我像这样访问 Restful URL../users/search/getUserName
,我收到错误:{"cause":null,"message":"PersistentEntity must not be null!"}
创建投影界面
public interface UserNameOnly {
String getUserName();
}
然后在您的存储库界面中返回该类型而不是用户类型
public interface UserRepository<User> extends JpaRepository<User,String> {
List<UsernameOnly> findNamesByUserNameNotNull();
}
投影接口中的 get 方法必须与 JPA 存储库中定义类型的 get 方法匹配,在本例中为 User。
“findBySomePropertyOnTheObjectThatIsNotNull”允许您根据某些条件获取实体列表(而不是 Iterable),对于 findAll 来说,如果唯一标识符(或任何其他 NonNull 字段)不为空,则可以简单地获取。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)