Spring Data MongoDb findById не возвращает результатыJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Spring Data MongoDb findById не возвращает результаты

Сообщение Anonymous »

У меня есть объект Snozzberry, который выглядит следующим образом:

Код: Выделить всё

 {
"id":"3cbdb746-561d-4e21-82e0-b7cfcad3a094",
"thingId":"7cbfb7a6-763d-6ef1-271b-b2a0cfc2fa43",
"stuffId":81,
"bits":"WooHoo"
}
Класс Java (конструктор, геттер и сеттеры опущены для краткости):

Код: Выделить всё

@Document(collection="Snozberry")
public class Snozberry {
@Id
private UUID id;
private UUID thingId;
private Long stuffId;
private String bits;
}
Репозиторий выглядит так:

Код: Выделить всё

public interface SnozberryRepository extends MongoRepository{
Snozberry findByThingId(UUID Id);
Snozberry findById(UUID id);
}
В коллекции MongoDb поля _id иthingId определены как UUID. Я хотел бы вернуть документ, который соответствует значению идентификатора, которое я передаю.

Я могу вернуть все объекты, используя findAll(), и я могу вернуть объекты, соответствующие идентификатору вещи, используя

Код: Выделить всё

  Snozberry findByThingId(UUID id)
метод определен в моем репозитории, поэтому я знаю, что он нормально общается с БД и что он может найти (не идентификатор) поля UUID нормально.

Я попробовал метод по умолчанию

Код: Выделить всё

findOne(UUID.fromString("3cbdb746-561d-4e21-82e0-b7cfcad3a094")
и я также вызвал этот метод, определенный в репозитории

Код: Выделить всё

Snozberry findById(UUID id)
Но оба они возвращают ноль. Чего мне не хватает (кажется, это должно быть очевидно).

Спасибо
M

Подробнее здесь: https://stackoverflow.com/questions/426 ... ng-results
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»