JPA SqlResultSetMapping 对象顺序
Posted
技术标签:
【中文标题】JPA SqlResultSetMapping 对象顺序【英文标题】:JPA SqlResultSetMapping object order 【发布时间】:2018-01-20 14:38:09 【问题描述】:JPA:如果在@SqlResultSetMapping 中定义了类、实体和列,那么返回对象的顺序是什么?
@SqlResultSetMapping(
name="CustomerDetailsResult",
classes=
@ConstructorResult(
targetClass=com.example.Customer.class,
columns=
@ColumnResult(name="id"),
@ColumnResult(name="name"),
)
,
entities=
@EntityResult(entityClass=com.example.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")
)
结果行是 Object[]customer, order, scalar_value 或 Object[]order, scalar_value, customer 等。
【问题讨论】:
你是指查询中调用getResultList()后的行中列的顺序还是List中行的顺序? 对象在一行中的顺序。 【参考方案1】:结果将包含您在@SqlResultSetMapping 中定义的对象。
在你的情况下:
Object[]customer, order, scalar_value
【讨论】:
以上是关于JPA SqlResultSetMapping 对象顺序的主要内容,如果未能解决你的问题,请参考以下文章
JPA 2.1 @ConstructorResult 和 @SqlResultSetMapping 与 JPQL SELECT NEW SomeConstructor(...) 相比有啥优势?
JPA Sql NativeQuery with SqlResultSetMapping throwing java.sql.SQLException: Column 'formula3_0_' no