Hibernate Проекция на значение элемента члена встроенного идентификатора - PullRequest
0 голосов
/ 03 октября 2019

вот мой код

//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Как это сделать, пожалуйста, помогите.

...