[英]How to return Map<String, Object> in Java, JPA?
我有两个对象, Student
和Book
。 Student
与Book
有@OneToMany
关系,而Book
只有id
、 name
和publishYear
。 我想要的是从 Query 返回的是:
select s.name,
b.name,
b.publishYear
from Student s
inner join Book b on s.id = b.studentId
如何使用地图返回s.name
、 b.name
和b.publishYear
,所以我不想返回列表而是返回地图。 怎么做?
我假设您有一个findAll()
方法,它返回一个包含StudentBook
对象的列表, StudentBook
对象具有学生姓名、书籍名称和书籍出版年份。
现在要转换此方法以返回以书名作为键且值为书名和出版年份的地图,请遵循以下代码:
Map<String, Book> map = studentBookList.stream()
.collect(Collectors.toMap(
StudentBook::getSname(),
new Book(StudentBook::getBname(),
StudentBook::getPublishYear()
)
)
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.