gpt4 book ai didi

java - db.collection.find() 在 EclipseLink 的 native 查询中不起作用

转载 作者:太空宇宙 更新时间:2023-11-04 06:40:16 25 4
gpt4 key购买 nike

我正在为我的项目使用 EclipseLink NoSQL。我遇到的一件奇怪的事情是,当使用 native 查询“db.collection.findOne()”时,一切正常,而“db.collection.find()”却抛出异常。

这段代码有效:

Query emQuery = em.createNativeQuery("db.EMPLOYEE.findOne()", Employee.class);
List employees = emQuery.getResultList();

我有

[EL Fine]: 2014-07-16 11:55:05.78--ServerSession(1394835)--Connection(17102354)--Thread(Thread[main,5,main])--Executing QueryStringInteraction()
spec => null
query => db.EMPLOYEE.findOne()
parameters => []
[EL Finest]: 2014-07-16 11:55:05.806--ServerSession(1394835)--Thread(Thread[main,5,main])--Adapter result: {RFID=12435, VERSION=1, _id=53B632034390846204F1A165, EMPLOYEEID=Smith, BADGENO=2487, ADDUPDATEDDATE=Fri Jul 04 12:48:03 SGT 2014, ADDUPDATEDBY=Alex, TYPE=MANAGER}

同时

Query emQuery = em.createNativeQuery("db.EMPLOYEE.find()", Employee.class);
List employees = emQuery.getResultList();

返回给我这个

[EL Fine]: 2014-07-16 11:59:26.688--ServerSession(2940862)--Connection(24410159)--Thread(Thread[main,5,main])--Executing QueryStringInteraction()
spec => null
query => db.EMPLOYEE.find()
parameters => []
[EL Finest]: 2014-07-16 11:59:26.731--ServerSession(2940862)--Thread(Thread[main,5,main])--Adapter result: {value=DBQuery: testfloor.EMPLOYEE -> undefined}
Exception Description: The primary key read from the row [EISMappedRecord(
value => DBQuery: testfloor.EMPLOYEE -> undefined)] during the execution of the query was detected to be null. Primary keys must not contain null.
Query: ReadAllQuery(referenceClass=Employee )

有人知道这是怎么回事吗?

最佳答案

当我在 native 查询中使用 find() 方法时,我遇到了同样的错误,但我使用了解决方法,首先您必须使用 native 查询和 mongodb 聚合并将结果保存在临时集合中,然后您可以对 findAll 使用简单的命名查询。使用此技术,您可以在 mongodb 中执行所有任意查询并将结果发送到 java 中的 session Bean

关于java - db.collection.find() 在 EclipseLink 的 native 查询中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24772017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com