Функция недели (даты) в Grails / Критерии гибернации - PullRequest
0 голосов
/ 02 мая 2011

Я хочу спросить, возможно ли получить неделя число с даты свойство домена с Grails или Критерии гибернации ?

например, в mysql это WEEK(CURRENT_TIMESTAMP)

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 17 ноября 2011

Возможно, вы можете использовать функцию week() Hibernate, чтобы сделать это, если ваша база данных поддерживает это.

Например, следующие группы группируют сущности (которые, как предполагается, имеют поле Date с именем dateEntered по неделям и дают List<Object[]>, где для каждого Object[] в списке первым элементом является число и второй элемент - номер недели.

criteria.setProjection(Projections.projectionList()
                    .add(Projections.rowCount(), "parameterType")
                    .add(Projections.sqlGroupProjection(
                    "week({alias}.dateEntered) as week",
                    "week({alias}.dateEntered)",
                    new String[] {"week"},
                    new Type[] {Hibernate.INTEGER)))
                    .addOrder(Order.desc("parameterType"));
0 голосов
/ 02 мая 2011

Вы должны получить свойство date, преобразовать свойство и извлечь неделю года.например,

// fetch property from db
def test= Test.get(1)
// convert date and get week of year
println test.date.toCalendar().get(Calendar.WEEK_OF_YEAR)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...