[英]Map result set to custom pojo which is not entity
我需要通过连接多个表来获取4列。 我已经创建了查询。 但是如何将结果集映射到不是实体的pojo,我想使用Spring Data JPA。
有人可以帮忙吗?
谢谢!
编辑自定义POJO类:
`
@Data
@AllArgsConstructor
@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")
}
)
}
)
public class CustomPojo implements Serializable {
private static final long serialVersionUID = 1L;
private String name
private String type;
private String title;
private String description;
}
`
注释必须在实体上! 不能将它们放在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页面: https : //github.com/simasch/qlrm
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.