В моей SQL-сервер, поле даты сохраняются в формате с плавающей точкой (ES: DATADOC = 42155
)Cast поле в JPA Query
Я хочу, чтобы импортировать поле в БД MySQL как DATETIME. Я стараюсь на SQL-сервере, чтобы бросить на поле с этим запросом:
SELECT CAST(DATDOC as DATETIME) -2 FROM FATTURE where id=25460;
И результат является правильным.
Теперь я хочу, чтобы перевести его в JPA Query:
TypedQuery<DateTime> convFattura = emI24.createQuery(" SELECT CAST(dataFattura as DATETIME) -2 FROM FatturaI24 f where f.id = :idFattura", DateTime.class);
Но я получил эту ошибку:
09-06-2015 14:32:00 ERROR: org.springframework.scheduling.support.TaskUtils$LoggingErrorHandler - Unexpected error occurred in scheduled task.
java.lang.NullPointerException
at org.hibernate.dialect.function.CastFunction.render(CastFunction.java:55)
at org.hibernate.hql.internal.ast.SqlGenerator.endFunctionTemplate(SqlGenerator.java:220)
at org.hibernate.hql.internal.antlr.SqlGeneratorBase.methodCall(SqlGeneratorBase.java:2326)
at org.hibernate.hql.internal.antlr.SqlGeneratorBase.simpleExpr(SqlGeneratorBase.java:2681)
at org.hibernate.hql.internal.antlr.SqlGeneratorBase.expr(SqlGeneratorBase.java:1476)
Что такое правильный синтаксис CAST в DATETIME?
Любые идеи?
Что такое '' -2''? Вы пытаетесь вычесть 2 дня? месяцы? или ???? –
@RavinderReddy Days, таким образом я получил правильный traslate (я это проверил) – PaolaG
CAST недействителен JPQL. Вы можете использовать функцию SQL «CAST», используя стандарт JPQL «FUNCTION» (в JPA 2.1) –