Java 将结果集映射到非实体的自定义pojo

Java 将结果集映射到非实体的自定义pojo,java,spring-data-jpa,sqlresultsetmapping,Java,Spring Data Jpa,Sqlresultsetmapping,我需要通过连接多个表来获取4列。我已经创建了查询。但是如何将结果集映射到不是实体的pojo,我想使用SpringDataJPA 有人能帮忙吗 谢谢大家! 编辑 自定义POJO类: ` `注释必须位于实体上!不可能把它们放在POJO上 @NamedNativeQuery(name = CustomPojo.retriveCustomPojo query = Constants.CUSTOM_QUERY, resultSetMapping = CustomDataMappin

我需要通过连接多个表来获取4列。我已经创建了查询。但是如何将结果集映射到不是实体的pojo,我想使用SpringDataJPA

有人能帮忙吗

谢谢大家!

编辑 自定义POJO类:

`


`

注释必须位于实体上!不可能把它们放在POJO上

@NamedNativeQuery(name = CustomPojo.retriveCustomPojo
            query = Constants.CUSTOM_QUERY, resultSetMapping = CustomDataMapping")
@SqlResultSetMapping(name = "CustomDataMapping",
            classes = {
                    @ConstructorResult(
                            targetClass = CustomPojo.class,
                            columns = {
                                    @ColumnResult(name = "NAME"),
                                    @ColumnResult(name = "TYPE"),
                                    @ColumnResult(name = "TITLE"),
                                    @ColumnResult(name = "DESCRIPTION")
                            }
                            )
                }
        )
另一种方法是使用QLRM去掉这些注释


查看GitHub页面:

显示您的实体类并查询该类help@Mad我使用的是Spring数据JPA。我不能使用它。@pvpkiran-我已经添加了Pojo类。注:其不是实体。从查询中,我想直接将有4列的结果映射到此Pojo。这算什么?我已经解决了。我在实体上应用了注释。但是现在我得到了这个错误
得到了不同大小的元组和别名
Constants.CUSTOM_查询是什么样子的?实际上,这个[链接]起作用了。第二个答案。但不确定这是否是永久解决方案。这是我的查询
从(title.id=book.id)
上的book book join details title中选择book.name、book.type、title.title、title.description,这是我的接口方法
@query(name=“CustomPojo.retriveCustomPojo”,nativeQuery=true)List retriveCustomPojo()
@NamedNativeQuery(name = CustomPojo.retriveCustomPojo
            query = Constants.CUSTOM_QUERY, resultSetMapping = CustomDataMapping")
@SqlResultSetMapping(name = "CustomDataMapping",
            classes = {
                    @ConstructorResult(
                            targetClass = CustomPojo.class,
                            columns = {
                                    @ColumnResult(name = "NAME"),
                                    @ColumnResult(name = "TYPE"),
                                    @ColumnResult(name = "TITLE"),
                                    @ColumnResult(name = "DESCRIPTION")
                            }
                            )
                }
        )