查询 appengine 数据存储区时使用日期出现问题
我正在运行此查询:
SELECT FROM com.Data WHERE EntryDate > DATE('2010-3-16')
我收到此错误:
org.datanucleus.store.appengine.query.DatastoreQuery$UnsupportedDatastoreFeatureException: 查询问题 DATE('2010-3-16')>: 解析表达式时不受支持的方法: InvokeExpression{[null].DATE(Literal{2010-3-16})}
当我在管理控制台上使用相同的查询时,它会起作用。但它不适用于代码(java),无论是本地还是部署时。有什么想法吗?
I'm running this query:
SELECT FROM com.Data WHERE entryDate > DATE('2010-3-16')
I get this error:
org.datanucleus.store.appengine.query.DatastoreQuery$UnsupportedDatastoreFeatureException: Problem with query DATE('2010-3-16')>: Unsupported method while parsing expression: InvokeExpression{[null].DATE(Literal{2010-3-16})}
The same query works when I use it on the admin console. But it does not work for code (java), either locally or when deployed. Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您是否尝试过使用日期时间?日期、时间和日期时间都在内部存储为日期时间; Java SDK 可能没有为您实现这种自动转换。
Have you tried using a datetime? Dates, times, and datetimes are all stored internally as datetimes; it's possible the Java SDK doesn't implement this automatic casting for you.
我有同样的问题
尝试:
I had the same problem
try :
我建议将所有日期存储为 Long 并在执行查询之前对静态日期执行转换。
I suggest storing all your dates as Long and performing the conversion on the static date prior to executing the query.