У меня есть объект BestSellerMagazines с пользовательским @ SqlResultSetMapping
@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;
}
Как видите, @ SqlResultSetMapping неесть поле zoneId , но у сущности BestSellerMagazines оно есть.Я использую @ SqlResultSetMapping как resultSetMapping для некоторого собственного запроса SQL.
SQLQuery query = session.createSQLQuery(SQLStatements.CUSTOM_SQL_QUERY);
query.setResultMapping("BestSellerMagazinesJobQueryMapping");
query.list();
Но я получаю следующее исключение при попытке выполнить этот SQLQuery:
Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: The column name ZoneId33_57_0_ is not valid.
Итак, Hibernate автоматически генерирует имя для поля zoneId и пытается найти это поле в значениях, возвращаемых SQLQuery.Могу ли я как-то сказать Hibernate игнорировать zoneId поле в BestSellerMagazinesJobQueryMapping mapping?