Фильтр по текущей дате в Castor OQL - PullRequest
1 голос
/ 19 сентября 2008

Я управляю Java-коконом 2 и кастором oql. Я пытаюсь отфильтровать свой запрос oql по сегодняшней дате, но я не могу понять (или найти в Google) синтаксис даты. База данных mySql, но oql отображается с помощью классов java ... поэтому поиск по field_date> = Now () не работает. Есть идеи? Я действительно не выношу ограничений этого сайта, но это то, с чем мне приходится работать.

Ответы [ 2 ]

1 голос
/ 28 октября 2008

Адаптировано из FAQ по Castor JDO , при условии, что вы сравниваете данные с датой, а не с отметкой времени (см. Ссылка OQL ).

OQLQuery query = db.getOQLQuery("SELECT p FROM Person p "
      +"WHERE lastvisitdate=$2");
query.bind( new Date() ); //new Date() defaults to today.
1 голос
/ 23 сентября 2008

Прошло много времени с тех пор, как я использовал Cocoon, поэтому я не могу сказать, что у меня действительно отличный ответ для вас. Но так как этот вопрос стагнирует, пара моментов, чтобы предложить; -)

  1. Синтаксис должен иметь значение, только если вы кодируете литеральную строку SQL. У меня сложилось впечатление, что с помощью castor вы можете связать переменные (и позволить OQL выбрать подходящий формат). т.е. "где field_date> =?", myDateVal

  2. Казалось, CastorTransformer только кратко появился в одной конкретной версии Cocoon, а AFAIK - не в последней. Если у вас есть контроль над версией Cocoon, которую вы используете, возможно, вы захотите взглянуть на обновление и альтернативы CastorTransformer

...