Мне действительно нужна помощь по этому поводу.
Вот фрагмент кода:
hSql=" select case
when min(start_day_plan) is not NULL then min(start_day_plan)
else to_date((min(insertDate)) - cast('1 month' as interval),'yyyy-MM-dd' )
end
from Project"
getHibernateTemplate().find(hSql);
Но это приводит к ошибке ниже:
java.lang.IllegalStateException: No data type for node: org.hibernate.hql.ast.tree.CaseNode
\-[CASE] CaseNode: 'case'
+-[WHEN] SqlNode: 'when'
| +-[IS_NOT_NULL] UnaryLogicOperatorNode: 'is not null'
| | \-[AGGREGATE] AggregateNode: 'min'
| | \-[IDENT] IdentNode: 'start_day_plan' {originalText=start_day_plan}
| \-[AGGREGATE] AggregateNode: 'min'
| \-[IDENT] IdentNode: 'start_day_plan' {originalText=start_day_plan}
\-[ELSE] SqlNode: 'else'
\-[METHOD_CALL] MethodNode: '('
+-[METHOD_NAME] IdentNode: 'to_date' {originalText=to_date}
\-[EXPR_LIST] SqlNode: 'exprList'
+-[MINUS] BinaryArithmeticOperatorNode: '-' {dataType=org.hibernate.type.DoubleType@bb21ab}
| +-[AGGREGATE] AggregateNode: 'min'
| | \-[IDENT] IdentNode: 'insertDate' {originalText=insertDate}
| \-[METHOD_CALL] MethodNode: '('
| +-[METHOD_NAME] IdentNode: 'cast' {originalText=cast}
| \-[EXPR_LIST] SqlNode: 'exprList'
| +-[QUOTED_STRING] LiteralNode: ''1 month''
| \-[IDENT] IdentNode: 'interval' {originalText=interval}
\-[QUOTED_STRING] LiteralNode: ''yyyy-MM-dd''
что будет правильным запросом для этого? я просто пытаюсь вычесть 1 месяц из даты вставки.
Если бы вы могли помочь, пожалуйста, сделайте это ... спасибо:)