[英]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.