Java 将结果集映射到非实体的自定义pojo
我需要通过连接多个表来获取4列。我已经创建了查询。但是如何将结果集映射到不是实体的pojo,我想使用SpringDataJPA 有人能帮忙吗 谢谢大家! 编辑 自定义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
`注释必须位于实体上!不可能把它们放在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")
}
)
}
)