日期:2014-05-16 浏览次数:20464 次
?
@ColumnResult
执行 @NamedNativeQuery 时,它可以返回实体(包括不同类型的实体)、标量值或实体和标量值的组合。
使用 @ColumnResult 批注返回标量值。标量类型由您在 @ColumnResult 中标识的列类型确定。
有关详细信息,另请参阅 @EntityResult 、@FieldResult 和 @SqlResultSetMapping 。
表 1-8 列出了此批注的属性。有关更多详细信息,请参阅 API 。
表 1-8 @ColumnResult 属性
属性 |
必需 |
说明 |
name |
? |
在原生 SQL 查询的 SELECT 语句中将 name 设置为列名的 String 等效形式。如果在 SELECT 中使用列别名( AS 语句),则将 name 设置为列别名。 |
?
示例 1-9 显示了如何使用此批注将 Item (请参阅示例 1-10 )标量 name 包含在结果列表(请参阅示例 1-11 )中。在该示例中,结果列表将为 Object 数组的 List ,如: {[Order, "Shoes"], [Order, "Socks"], ...} 。
示例 1-9 使用 @ColumnResult 的 Order 实体
@SqlResultSetMapping(
name="OrderResults",
entities={
@EntityResult(
entityClass=Order.class,
fields={
@FieldResult(name="id",??????
column="order_id"),
@FieldResult(name="quantity", column="order_quantity"),
@FieldResult(name="item",????
column="order_item")
???????????
}
???????
)
???
},
columns={
@ColumnResult(
name="item_name"
???