Използвам JPA и използвах @Query
свързване на две таблици, сега моето изискване е да мога да имам комбинация от възможни стойности в условие where, някои може да са нулеви или празни.
Моето @Query
съдържа (value = "Select * From A a Left Outer Join B b On A.Id=B.Id where :fromDate is NULL and :toDate is NULL or B.Activity_Date_Time Between :fromDate AND :toDate")**
Обработвам това в заявката, работи добре за String
, но за TIMESTAMP
дава грешка като
вложеното изключение е org.hibernate.exception.SQLGrammarException: не можа да извлече ResultSet] с основна причина java.sql.SQLSyntaxErrorException: ORA-00932: несъвместими типове данни: очаква се TIMESTAMP получи BINARY
Генерирах SQL от JPA в регистрационни файлове, които работят добре на SQL разработчик
Select
*
From
table A
Left Outer Join
table B
On A.Id=B.Id
Where (
A.Customer = 'fsfsfsdfsfd'
)
and (
null is null
and null is null
or B.Activity_Date_Time Between null AND null
)
And (
'MATURITY' is null
or B.Activity_Type = 'MATURITY'
);