내 응용 프로그램에서 최대 절전 모드 ogm 5.1을 사용하고 있으며이 쿼리를 구성합니다. 이 쿼리집계 쿼리의 최대 절전 모드 OGM 결과
String query = "db.SWMessages.aggregate([ {0}, {1} ])";
Document q1 = new Document("$match",new Document("messageUuid",new
Document("$ne" , id.toString())));
Document q2 = new Document("$group", new Document("_id",
"$localReference").append("max", new Document("$max","$creationDate")));
Object[] param = { q1.toJson(), q2.toJson() };
String nativeQuery = MessageFormat.format(query, param);
List<SWMessageR> records = (List<SWMessageR>) em.createNativeQuery(nativeQuery, SWMessageImpl.class)
.getResultList();
는 위의 코드는 다음과 같이 쿼리를 생성합니다
db.SWMessages.aggregate([ { "$match" : { "messageUuid" : { "$ne" : "9c1464d7-311d-4b50-8b81-005bad055232" } } } , { "$group" : { "_id" : "$localReference", "max" : { "$max" : "$creationDate" } } } ])
내 질문이 쿼리의 결과가 SWMessageR 인 엔티티 객체를 다시 반환 할 것입니까?
답변 감사합니다. 그러나 위의 쿼리는 여러 항목을 가져올 수 있으므로 제안하는 방식이 도움이되지 않습니다. 문제는 그룹 쿼리가 반환 된 문서를 변환하므로 하이버 네이트가 쿼리 결과를 엔티티 개체로 매핑 할 수없는 지속성 예외 일 수 있다는 것이 었습니다. 몽고 문서를 살펴 보라고 제안합니다. 건배 – Invokergb