在Java中获取带有查询的实体有时会返回较少的实体,这种情况很少见。我正在使用javapersistance管理器。是理想使用它还是需要切换到低级数据存储获取来解决它?
String query = "CUID == '" + cuidKey + "' && staffKey == '" + staffKey +"'&& StartTimeLong >= "+ startDate + " && StartTimeLong < " + endDate + " && status == 'confirmed'";
List<ResultJDO> tempResultList = jdoUtils.fetchEntitiesByQueryWithRangeOrder(ResultJDO.class, query, null, null, "StartTimeLong desc");
在极少数情况下,结果返回4个实体,但大多数时候返回所有5个实体。
jdoUtils是一个PersistanceManager对象。我是否需要切换到低级数据存储区获取才能获得准确的结果。
我曾尝试研究您提到的图书馆以及类似问题,但至今没有发现任何问题。很难知道为什么会发生这种情况,或者很难用很少的信息来解决它。
另一方面,建议以编程方式与Google Cloud Platform产品进行交互的方式是通过Google's client libraries,因为它们已经过测试,可以保证在几乎所有情况下都可以使用。此外,如果您发现任何问题,则可以使用它们来打开Github问题,以便开发人员可以解决它们。在极少数情况下,您需要一些尚未涵盖的功能,可以打开功能请求或直接调用API。
除了Google的库之外,正在积极开发Java的其他两个选项。一个是Objectify,另一个是Catatumbo。
我建议切换到Java Datastore libraries。您可以在link1和link2中找到有关如何与数据存储区进行交互的示例。您也可以在此programcreek page中找到社区共享代码示例。