繁体   English   中英

如何返回地图<String, Object>在 Java 中,JPA?

[英]How to return Map<String, Object> in Java, JPA?

我有两个对象, StudentBook StudentBook@OneToMany关系,而Book只有idnamepublishYear 我想要的是从 Query 返回的是:

select s.name, 
       b.name, 
       b.publishYear 
from Student s 
     inner join Book b on s.id = b.studentId

如何使用地图返回s.nameb.nameb.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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM