点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们! ...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们! ...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家们!
在我的组织中,我们开发了一个Java应用程序来公开odata服务,我们使用的一些技术是:
一切似乎都可以正常工作,我们可以使用odatas并满足我们的要求,但是在按日期执行过滤时发现了一个问题。
查询:
WorkOrderHeaders?$ filter =(StartDate ge datetime'2018-01-16T05:00:00')
结果:
QueryException:意外字符:'{'[从WorkOrderHeader E1 WHERE中选择E1(E1.startDate> = {ts'2018-01-16 05:00:00.000'})]
我认为这是Olingo的问题,所以我进行了研究并找到了这篇文章: https://issues.apache.org/jira/browse/OLINGO-240?jql=text%20~%20%22datetime% 20filter%22
它基本上说:"此问题特定于休眠,目前在Olingo JPA处理器中没有针对休眠的特定处理。"
谷歌搜索休眠状态,我发现了这一点: https://hibernate。 atlassian.net/browse/HHH-8653
它提到:"问题的根源似乎是Hibernate生成的语法不包括对时态文字的支持"
因此,显然休眠状态不提供对日期文字的支持。
ps。 我已经使用相同的技术构建了一个小项目,但是考虑使用eclipselink而不是hibernate,并且可以与日期过滤器一起很好地工作。
(12.2 kB)
嗨,伊凡,
请检查以下有关如何在Eclipse中为HANA设置Hibernate的教程。 我认为这可能会帮助您检查项目设置。
更具体地说,请在休眠持久性配置上检查以下属性:
"意外的字符"告诉我,休眠状态正在为您的HANA数据库生成无效的SQL命令(我假设您正在尝试针对HABA DB运行JPA项目。对吗?)。
从提供的错误中检查SQL命令时,我注意到函数'ts'的用法。 这表明hibernate不会生成与HANA兼容的SQL代码,因为没有这样的数据类型转换功能。 TO_TIMESTAMP。
我认为通过设置正确的方言,生成的SQL语法将是正确的。
我还将尝试通过SQL Console对您的数据库运行在Hibernate应用程序上看到的相同SQL命令。 这样,您将能够找出SQL命令的哪一部分是错误的。
最好的问候,
伊万
一周热门 更多>