欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

JDO 2.0查询语言的特点_MySQL

程序员文章站 2022-05-08 11:22:03
...
  

  查询语言的改进是JDO2.0规范中的重要环节,本文从较高的层面阐述JDO2.0所提供的一些新功能。由于JDO2.0规范还未进入公开草案状态,目前还没有任何内容敲定下来,一切都还可能面临变化。不过,JDO2.0将会很快进入最后阶段,而这里提到的查询特性是JDO2.0专家组(译者注:David Jordan就是专家组重要成员)花费时间最多,并且相对来说最为稳定。因此,我有足够理由相信,最终规范与这里的描述将会基本一致。

  如果各位读者觉得本文遗漏了某些重要的特性,建议立即到JDO论坛(http://www.jdocentral.com/forums/index.php?showforum=10)去提出并讨论。这里我们需要感谢JDO2.0规范*Craig Russell授权给我公开这些JDO2.0查询语言的新特性。

  查询结果

  你可以创建一个对A类的查询,通过contains()引用到B类,再通过又一层contains()引用到C类,最后再使用一个“.”操作符引用到D类。但最终返回的集合中只会包含A类的对象实例,如果要从结果中获得其它类,就必须通过A类的引用来逐个获取相关的其它类对象。如果你的查询条件里面包含了B、C或D类的约束,那么在结果集中通过A类对象引用其它类对象时,必须重新将这些约束在Java代码中重复一遍,也就是说,你不得不在Java和JDOQL中重复声明限制条件。再者,你可能只关心满足查询条件的D类对象,而不希望中间的B、C类对象被JDO底层创建从而节省内存或相关资源。

  在JDO2.0中,你再也不受缚于这些限制了。你可以返回:

  数据类(PersistentCapable)的一个或多个字段
  候选类以外的其它类对象