Вычисление данных в полях через Hibernate. В JDBC вы используете сумму SQL и другие методы. При использовании Hibernate вам необходимо использовать объект Projections.
Во-первых, давайте представим прогнозы:
org.hibernate.criterion.Projections — это фабрика экземпляров Projection. Мы используем объект Projections для выполнения запроса путем вызова setProjection().
Давайте начнем:
Также необходимо создать объект Criteria. Этот объект очень важен. Он практически выполняет большинство функций запросов в Hibernate. При использовании с HQL он очень мощный.
Java-код
Критерии критериев = session.createCriteria(AccCasherDaySupply.class);
Критерии критериев = session.createCriteria(AccCasherDaySupply.class);
Создайте объект Criteria через сеанс, а параметр — это имя класса объекта, который вы хотите запросить (обратите внимание, что здесь он чувствителен к регистру).
Метод setProjection можно использовать через объект Criteria, который будет выполнять запрос Projections.
Java-код
критерии.setProjection(****);
критерии.setProjection(****);
Следующим шагом является выполнение фактической операции агрегирования с использованием объекта Projections для вставки в параметры ****.
Объект Projects имеет большинство методов агрегирования, в основном: rowCount(), avg(), max(), groupProperty(), alias(), property(), sum()...
Если взять в качестве примера sum(), если вам нужно вычислить сумму данных определенного поля, будет использоваться метод sum():
Java-код
критерии.setProjection(Projections.sum("имя поля"));
критерии.setProjection(Projections.sum("имя поля"));
С помощью приведенного выше кода критерии получат комбинацию имен соответствующих полей.
Наконец, окончательные результаты запроса «Проекции» получаются с помощью Criteria.list().
Эта статья взята из блога CSDN. При перепечатке указывайте источник: http://blog.csdn.net/lyr1985/archive/2009/12/30/5105409.aspx.
-