вот мой код
//Sample Entity Code
@Entity
public class Car {
@EmbeddedId
private CarPk carPk;
private String color;
// getters and setters...
}
@Embeddable
public class CarPk implements Serializable
{
private static final long serialVersionUID = 453L;
@Column(name = "CHESSI_NO")
private String chessiNo;
@Column(name = "ENGINE_NO")
private String engineNo;
//getters and setters
}
Сейчас я пытаюсь, как показано ниже
// Here I do not Want other details of car Suppose it has some 100 columns
//and I want only two chessi no and color then I was trying below
// inside some method
ProjectionList projectionList = Projections.projectionList().add(Projections.property("chessiNo"), "chessiNo");
projectionList.add(Projections.property("color"), "color");
Criteria criteria = getSession().createCriteria(Car.class);
criteria.setResultTransformer(Transformers.aliasToBean(Car.class);
criteria.setProjection(projectionList);
criteria.add(Restrictions.eq("color", "blue"));
return criteria.gist(); // this is output of my some method
, но это исключение
org.hibernate.QueryException: could not resolve property: chessiNo of: com.test.Car
Есть лиспособ, которым я могу выбрать встраиваемый идентификатор Id в моей проекции, чтобы уменьшить объем передаваемых данных и уменьшить объем данных из таблицы, которую нужно извлечь, вместо 100 столбцов. Мне просто нужно два, и загрузка всего компонента не является оптимальным решением, если это необходимо в цикле osКак это сделать, пожалуйста, помогите.