问题标签 [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 - JDO 查询内部事务:是还是否?
我在查询数据库时一直使用事务,但最近我想知道为什么。
在“只读”查询中使用/不使用事务有什么好处/缺点?
交易:
非交易:
令我困惑的是,例如,Datanucleus JDO 的实现。如果事务默认不锁定对象,那么这样的事务有什么好处?
来自文档:JDOQL 允许控制查询找到的对象是否在该事务期间被锁定,以便其他事务同时无法更新它们:http://www.datanucleus.org/products/accessplatform_2_1/jdo/jdoql。 html
java - 是否可以显式编写加入条件?
我想在 datanucleus 中使用 JDOQL 在非键列上显式编写连接条件。是否可以在 datanucleus 中写入?如果可以,我们如何使用 JDOQL 编写?
java - 1-1关系上的datanucleus-mongodb性能问题
同样,我正在创建此线程以查看是否有人有相同的问题,或者是否有人知道如何提高性能。让我先解释一下场景:我有一个名为 Product 的 JDO 实体。在该产品中,我有另一个实体的字段,一个简单的字段(示例类型:长 ID、字符串名称、字符串值)和 1 个日期。我创建了 10000 个产品对象,但是当我尝试使用日期查询产品时,性能很好,但是如果我添加 type.id == 12,那么性能会从 100 毫秒下降到 30 秒......如果我没有一个 Type 对象在 Product 上放了一个很长的 typeId,那么同样的查询也很快......我担心的是可扩展性,我应该展平结构并使用未真正连接但需要额外应用程序检索的 id,还是有办法提高 Product.Type 查询的性能?非常感谢您提前。
我已经尝试定义 fetchGroups,但它们并没有真正起作用......
我实际上想做的是通过产品上的 ID 进行一种映射,但我无法使用嵌入式注释来做到这一点......
所以,让我解释一下:我有一个名为 Reading 的类(一个 Date timeStamp 和一个 Product p)。这是在做一个查询。如果过滤器是这样的:
如果我这样做,查询将在 100 毫秒内执行
例如,这需要 30 秒......我已经看过日志,并且没有查询他只从缓存中读取的产品,如果我添加产品的子句,他似乎会获取所有对象并开始比较我想象的值...我真的不知道该怎么做,也许我应该断开所有这些类并开始在 Reading 类上使用 String productID ,然后一切又开始变快了...但实际上,连接不是在那里,它将在应用层中实现......再次感谢......有什么建议吗?
生成的查询是这样的: SELECT FROM core.jdo.model.Readings WHERE timeStamp > fromDate && timeStamp < toDate && EAN.EAN == '002' PARAMETERS java.util.Date fromDate, java.util.Date toDate import java .util.日期
java - 多表查询 jdo 无主关系
我需要一些帮助
我正在使用 gae、datastore 和 jdo
国家 1 - N 部门;部门 1 - N 个省,无主关系,作为在省的已知国家数据
实体派:
实体部门:
实体省
允许我满足国家/地区数据的查询,访问地区 JDO
jdo - FetchPlan 不起作用
我是这个主题的新手,所以如果我遗漏或误解了什么,请原谅我。
我正在使用 JDO 3.1rc1 和 DataNucleus 3.2.7。
这是我的数据类(尽可能简短):
这是我尝试在此处检索部分字段的代码
但是,在遍历结果时,似乎所有字段都有值,而不是我预期的 null。我还尝试了动态的方法,认为这可能是我的注释的问题,但无济于事。知道我哪里出错了吗?
java - 如何使用 DataNucleus JDOQL API 查询集合中的对象?
我试图弄清楚如何使用 RDBMS 和 DataNucleus 查询持久对象集合中的对象。我有一个用户、一个 ObjectAttribute 和一个 ObjectAttributeDefinition。
User 可能有多个 ObjectAttribute,每个 ObjectAttribute 都有一个 ObjectAttributeDefinition。这个想法是一些定义可以定义一大堆 ObjectAttributes。
我想检查是否存在一个 ObjectAttribute,其 value 字段与指定的字段对齐,并且其 ObjectAttributeDefinition 包含字段 attributeName,其值设置为我指定的 attributeName。
换句话说:
我有以下三个课程:
用户
对象属性
对象属性定义
进一步说明
我有一个 DAO 类和为访问这些持久对象定义的方法列表。整个基础设施似乎设置正确,因为持久化对象并再次检索它们似乎工作正常。
我确保对象属性唯一性的方法是查询 ObjectAttribute 的值和 ObjectAttributeDefinition 的名称。
我试过的
基本查询
基本查询错误
正如JDO 规范似乎暗示的那样,一切都应该非常类似于 Java。但是,由于某种原因,我似乎无法访问低于第一层的对象。
所以我试图破解比较。
在 ObjectAttribute 中使用 equals() 覆盖
在 ObjectAttribute 结果中使用 equals() 覆盖
我收到零结果。查看为该对象生成的实际 SQL,我得到以下信息:
检查空引用的 ATTRIBUTEID 永远不会返回结果。所以这是我的代码与 DataNucleus 的接口一侧,但我又不知所措了。
也许我可以在 ObjectAttribute 和 ObjectAttributeDefinition 上覆盖 equals() ..
等于覆盖 ObjectAttribute 和 ObjectAttributeDefinition
等于覆盖 ObjectAttribute 和 ObjectAttributeDefinition 结果
rval 返回 null,不生成数据库查询,也不抛出异常。
仅使用值比较
仅使用值比较结果
这将返回预期值,但不使用定义比较,这只是目标的一半。
有没有办法在第二层深度查询定义及其字段?
google-app-engine - 持久化无主实体关系 jdo (gae) 时排除属性
在 Google App Engine 应用程序中,我有这个模型:
该模型@Unowned
与发送者有关系,因为用户可以独立于消息而存在。
我想做的是持久Message
化带有部分User
对象的对象(例如,我只对存储用户 ID 和用户名感兴趣)。在我的端点类中,我可以很好地存储消息,但是,如果我没有在关系中包含给定用户的所有字段,则用户对象会更新为缺少的字段(例如,相关用户不再有密码等.)。在不“破坏”原始对象的情况下实现我想要的最佳方法是什么?
PS 我的端点方法非常简单。基本上只是调用pm.makePersistent(message);
消息(作为方法参数给出)。
datanucleus - 如何使用 JDOQL 命名查询获取相关对象?
我正在使用 DataNucleus 2.0.5。而且我需要运行命名的 JDOQL 查询来检索具有一些相关实体的对象。
假设我有
现在我想执行命名查询并使用角色检索帐户。我需要做一些非常相似的事情来加入JPQL 中的提取,但使用 JDOQL 命名查询。
java - JDOQL 子查询 - 类名 _ 无法解析
我是 JDOQL 的新手,但遇到以下问题。我正在尝试获取部门的平均工资,然后选择平均工资高于某个值的部门。
我目前收到的错误消息:
java - 从 GAE 数据存储中选择单个不同的列并按日期排序
我的数据存储包含以下结构
我正在尝试从数据存储中过滤关于“属性”的不同 ID,并使用以下 JDO 查询按日期排序
我已将范围设置为 10 以获取 10 个不同的 id,但即使数据存储包含此过滤器的更多记录,查询响应也会返回小于 10 的 id。
考虑到设置的范围,查询是否可能仅扫描 10 条记录并返回不同的 id。有没有其他方法可以使用低级 API 来完成这个查询?
任何想法都会有所帮助。