问题标签 [jdoql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 如何使用 JDOQL 查询接口并过滤结果集?
我有一个界面
持久层使用 JDO。JDO 实现是DataNucleus。现在我想用 JDOQL 查询该接口的任何实例。
查询查询 = getPersistenceManager().newQuery(MyInterface.class);
这很好用。现在我想按名称过滤查询结果。当然接口没有属性。其实现的属性可能不同。MyInterface 的任何实例都通过 getName() 方法返回其名称。
如何将此方法与 JDOQL 一起使用?
我试了一下:
query.setFilter("name == \"" + name);
query.setFilter("name() == \"" + name);
query.declareVariables("myPackage.MyInterface myInterface"); query.setFilter("myInterface.name == \"" + name);
query.declareVariables("myPackage.MyInterface myInterface"); query.setFilter("myInterface.name() == \"" + name);
JDO 仍然不断抛出异常(看底部)。我不确定这是否适用于接口,但是有一个 get 和一个 set 访问器方法,这是 java beans 术语中的一个属性。我将@Persistent
注释添加到接口及其实现的 getName() 方法中,但没有任何改变。
如何过滤接口实例的查询?
提前致谢。
这是 JDO 抛出的异常:
java - JDOQL 使用“包含”请求获取结果的问题
我正在为一个项目使用 Google App Engine,我需要对数据库进行一些查询。我使用 JDOQL 询问数据库。就我而言,我想获得包含子字符串“array”的大学。我认为我的查询有错误,因为它按字母顺序返回大学的名称,而不是包含子字符串的名称。
有人可以告诉我我的查询有什么问题吗?
谢谢您的帮助!
编辑
我有一个大学商店的列表,我有一个建议箱,我们可以在其中以他的名字请求一所大学。我想自动完成请求的名称。
jdo - 为什么使用“匹配”语义的 JDOQL 查询仅适用于文字?
我正在尝试构建一个 JDOQL 查询(使用 datanucleus),它将根据拥有的一对多子类中的条件搜索父类的匹配项。查询如下所示:
我的数据集如下所示:
- 模块[1]
- ModuleMapping[1]: 标准=".*"
- 模块[2]
- ModuleMapping[1]: 标准=".*星际迷航.*"
- ModuleMapping[2]: 标准=".*StarWars.*"
查询从不匹配任何内容!但是,如果我用文字matches
替换JDOQL 方法的参数:
事情将适用于该单个示例,我的查询将找到Module[2]。我错过了什么?我是否不允许使用映射字段的内容作为 JDOQL 方法的参数?我需要以某种方式逃避事情吗?
戴夫
java - 在 JDOQL 中舍入一个值
我在 GAE 数据存储中有数据。我想针对该数据编写一个 JDOQL,该数据采用其中一列并将其值四舍五入。我可以这样做吗?
java - 在 GAE 中使用 JDOQL 中的“INTO”关键字
我有一个持久类,“会议”,其中有一个“分钟”和“小时”字段。我只需要这两个字段来填充我的 ui 中的下拉列表。我找到的示例告诉我,我可以创建一个仅包含这两个字段的简单 bean,但我收到一条错误消息,指出它无法将 Integer 转换为 MyTime 对象。它显然没有将数据映射到 bean,不幸的是,这是我能找到的唯一示例。
以下是运行执行后调试模式下“时间”的样子:[0, 0, 0, 0, 0, 0, 8, 10, 21]
然后,当我尝试将时间转换和索引到 MyTime 对象时,我在 for 循环中遇到错误。java.lang.ClassCastException:java.lang.Integer 无法转换为 com.emooney.meeting.beans.MyTime
有什么想法可以在不必为每次会议带回整个“会议”对象的情况下获取这些数据吗?
这是 MyTime bean:
}
java - 使用 Google App Engine (Java) 上的键列表获取多个对象的最佳方法是什么?
我有一个多对多的关系。就像文档中的示例一样:
如果我已经检索到“Person”对象并且我有 favoriteFoods 键集,我如何获得某个“美食爱好者”的所有“最喜欢的食物”。有没有比以下更好的方法:
这里最便宜和最有效的选择是什么?我通常必须在我的应用程序中生成带有对象数据的表。
jdo - JDOQL 子查询计数问题
我在使用 JDOQL(使用 DataNucleus)时遇到子查询计数问题。以下查询
导致异常
以下查询均无效:
确保子查询结果不为空的正确方法是什么?
google-app-engine - 具有 JDOQL 唯一结果集的查询
在我的 GAE 应用程序中,我想创建一个 JDOQL,它返回一个列表,其中每个元素最多存在一次,即使在数据库中还有更多。我怎样才能做到这一点?
google-app-engine - 在 GAE 中使用 OR 进行 JDO 查询
有一个像这样的实体A
如何编写一个 JDO 查询来选择与关键字 ==a 或关键字 ==b 匹配的所有 A 对象
完整代码如下所示:
此代码没有给出任何错误,但没有给出任何结果。删除 || 部分给出结果。
谢谢
java - 使用对象 ID 的 JDO 查询
我有一个User
对象,它Transaction
下面有一组对象。
我为我的User
对象存储对象 ID,现在需要一个查询来汇总User 对象下的事务:
给定User
' 对象 ID,我想要集合中所有Transaction.txnAmount
' 的总和。User.transactions
我对此的看法是:
我已经验证了 userID 确实是一个数据库标识符对象,因为它应该是(我可以使用它通过 ID 查询用户对象)。但我在 query.execute() 方法中遇到异常:
javax.jdo.JDOException:方法“JDOHelper.getObjectId”的调用为空,但 SODA 查询当前不支持
使用 DB4O 作为数据存储,DataNucleus 2.2.1 作为 JDO 实现