Я пытаюсь сохранить одного (Владелец) для многих (Car) отношений с морфией (0.99)/mongoDB (2). Когда я пытаюсь сохранить класс Car со ссылкой на класс Owner, Morphia выдает исключение MongoException $ DuplicateKey. Это странно, так как я думал, что каскадный упор не существовал в морфий.Нарушение индекса по ссылочному классу, Morphia
Почему морфия бросает дублирующее ключевое исключение для индекса * index_username * на ссылочном классе Owner, когда я сохраняю автомобиль?
Pojo:
@Entity(noClassnameStored=true, value="base")
public class Base {
@Id
private ObjectId id;
...
@Entity(value = "owner", noClassnameStored = true)
@Polymorphic
public class Owner extends Base {
@Indexed(value = IndexDirection.ASC, unique=true, dropDups=true, name="index_username")
private String userName;
@Reference
private Set<Car> cars = new HashSet<Car>();
...
@Entity(value="car", noClassnameStored=true)
@Polymorphic
public class Car extends Base{
@Reference
private Owner owner
Bean:
car.setOwner(owner);
BeanUtil.getDataStore().save(car);
Исключение:
com.mongodb.MongoException$DuplicateKey: E11000 duplicate key error index: myapp.car.$index_username dup key: { : null }
я должен сказать, что сохраняющееся первый объект Car со ссылкой на владелец работает отлично , – Chris