我有一个具有自定义 @SqlResultSetMapping
的实体 BestSellerMagazinesthis.props.myProp()
如您所见, @SqlResultSetMapping 没有 zoneId 字段,但是 BestSellerMagazines 实体具有。我正在将此 @SqlResultSetMapping 用作某些本地SQL查询的resultSetMapping。
@Entity
@SqlResultSetMapping(name = "BestSellerMagazinesJobQueryMapping",
entities = {@EntityResult(entityClass = BestSellerMagazines.class, fields = {
@FieldResult(name = "id", column = "[ID]"),
@FieldResult(name = "groupId", column = "[GroupID]")
})}
)
public class BestSellerMagazines implements Serializable {
@Id
@Column(name = "ID")
private Long id;
@Column(name = "GroupID")
private Integer groupId;
@Column(name = "ZoneId")
private Integer zoneId;
}
但是尝试执行此SQLQuery时出现以下异常:
SQLQuery query = session.createSQLQuery(SQLStatements.CUSTOM_SQL_QUERY);
query.setResultMapping("BestSellerMagazinesJobQueryMapping");
query.list();
因此,Hibernate自动生成 zoneId 字段的名称,并尝试在SQLQuery返回的值中查找该字段。 我能以某种方式告诉Hibernate忽略 BestSellerMagazinesJobQueryMapping 映射中的 zoneId 字段吗?