如何排除@SqlResultSetMapping中的字段?

时间:2019-04-17 12:34:04

标签: java hibernate jpa

我有一个具有自定义 @SqlResultSetMapping

的实体 BestSellerMagazines
this.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 字段吗?

0 个答案:

没有答案