У меня есть этот код уже работает:Java Entity Manager - JSON читатель ожидал значение, но нашел «» дб
EntityManager entityManager = getEntityManager();
entityManager.getTransaction().begin();
String query = "db.Band.find({})";
List<Band> list = (List<Band>) entityManager.createNativeQuery(query, Band.class).getResultList();
entityManager.close();
return list;
Он возвращает List
без проблем. Теперь я хочу, чтобы разобраться, что List
по date
:
EntityManager entityManager = getEntityManager();
entityManager.getTransaction().begin();
String query = "db.Band.find({something__id:ObjectId(\"" + myId + "\")}).sort({\"somethingelse.date\":-1})";
List<Band> list = (List<Band>) entityManager.createNativeQuery(query, Band.class).getResultList();
entityManager.close();
return list;
Моя консоль дает мне это сообщение:
org.bson.json.JsonParseException: JSON reader was expecting a value but found 'db'
Я проверил, что мой String
был правильно работать в Монго консоли, и это сделал. Есть идеи?
Редактировать: Я пытался поставить «something__id» между кавычками, потому что он не работал бы даже без части сортировки, если бы я этого не сделал (я просто это понял), но теперь он говорит, что я делаю неподдерживаемый собственный запрос, указывая выберите Сортировку. Должен ли я сортировать его после того, как у меня уже есть его в объекте List?
Я предполагаю, что вы используете неправильный формат запроса для этого конкретного API. – chrylis