Projection - это интерфейс, предоставленный в пакете «org.hibernate.criterion», Projection - это класс, предоставленный в том же пакете, фактически Projection - это интерфейс, а Projection - это класс и фабрика для создания объектов проекции.
В классе Projection у нас есть все статические методы, и каждый метод этого класса возвращает объект интерфейса Projection.
Если мы хотим добавить объект Projection в Criteria, тогда нам нужно вызвать метод setProjection ()
Помните, что при добавлении объекта проекции к критериям можно добавлять по одному объекту за раз. Это означает, что если мы добавим 2-й проекционный объект, то этот 2-й будет переопределять первый (первый не будет работать), поэтому за один раз мы можем только один проекционный объект к критерию
Используя критерии, если мы хотим загрузить частичный объект из базы данных, то нам нужно создать объект проекции для свойства, которое должно быть загружено из базы данных
Criteria crit = session.createCriteria(Products.class);
crit.setProjection(Projections.proparty("proName"));
List l=crit.list();
Iterator it=l.iterator();
while(it.hasNext())
{
String s = (String)it.next();
// ---- print -----
}
Если мы добавим несколько критериев к критериям, то последний добавленный прогноз будет считаться выполненным, см. *
Criteria crit = session.createCriteria(Products.class);
Projection p1 = Projection.property("proName");
Projection p2 = Projection.property("price");
crit.setProjection(p1):
crit.setProjection(p2):
List l=crit.list();