Помогите мне разобраться в этом. Я использую spring-data-mongodb без спящего режима или любого другого поставщика jpa. Моя модель предметной области, как это:Spring JPA mongodb с помощью аннотаций
public class User {
@Id
private String id;
private String username;
private String password;
...
}
Я бег тестового класса, чтобы заполнить несколько пользователей в моей MongoDB, который работает отлично. Но если я добавлю еще несколько аннотаций, как это:
public class User {
@Id
private String id;
@Field(value="uname") private String username;
@Field(value="pass")private String password;
...
}
мой тестовый класс добавляет только один пользователь, следующий один бросает исключение дубликатов жалуются записи -
org.springframework.dao.DuplicateKeyException: E11000 - двойной идентификатор ошибки: gldata.user. $ Username_-1 dup key: {: null}; вложенное исключение составляет com.mongodb.MongoException $ DuplicateKey: E11000 дубликат ключа индекса ошибки:. gldata.user $ username_-1 DUP ключ: {: нуль}
Что я здесь отсутствует?
Моя догадка заключается в том, что во втором случае Spring-JPA не может автоматически генерировать идентификаторы, первый id (идентификатор объекта в mongo) генерируется с использованием null, второй id становится дубликатом. Но почему? – Jayz