最后一種映射類型,就是實體與標量值的組合
@SqlResultSetMapping
(
name="ReturnOrderListWithPartEntityPartScalarType",
entities=
{
@EntityResult
(
entityClass=entity.Order.class,
fields=
{
@FieldResult(name="id",column="order_id"),
@FieldResult(name="date",column="order_creation_date"),
@FieldResult(name="desc",column="order_description"),
@FieldResult(name="sum",column="order_sum_total")
}
),
@EntityResult
(
entityClass=entity.Customer.class,
discriminatorColumn="customer_type",
fields=
{
@FieldResult(name="id",column="customer_id"),
@FieldResult(name="ctype",column="customer_type")
}
)
},
columns=
{
@ColumnResult(name="customer_name")
}
)
我們將結果集中與訂單有關的保存進Order Entity,把與Customer有關的,將id和customer type 保存進Customer Entity,把customer name保存進標量。
經過運行測試程序,得到
*****ReturnOrderListWithPartEntityPartScalarType*****
entity.Order@48edb5 entity.GoldenCustomer@1ee2c2c John Smith
entity.Order@1402d5a entity.GoldenCustomer@1ee2c2c John Smith
entity.Order@1e13e07 entity.GoldenCustomer@1ee2c2c John Smith
綜上所述,我們可以采取多種resultset映射機制來保存用本地查詢得到的結果集,具體采取哪種要看具體的情況,要繼續了解這方面的知識。