@Unique не имеет никакого эффекта в DataNucleus с NeoDatis - PullRequest
3 голосов
/ 09 ноября 2010

Использование хранилища данных JDO / DataNucleus / NeoDatis

Я добавил @Unique в поле персистентного объекта, однако мне разрешено создавать несколько объектов, которые нарушают ограничение уникальности. Документы для DataNucleus / NeoDatis предполагают, что уникальные поля поддерживаются.

@PersistenceCapable
public class User {
 @Persistent
 @Unique
 private String username;
 //...
}

Если я добавлю несколько объектов в БД с одним и тем же именем пользователя, проблем не возникнет.

Ответы [ 2 ]

1 голос
/ 03 января 2011

Похоже, что реализация DataNucleus для NeoDatis не поддерживает уникальные атрибуты.В NeoDatis требуется, чтобы вы добавили уникальный индекс в поле (см. Ссылку ниже для форумов NeoDatis, описывающих это).

http://sourceforge.net/projects/neodatis-odb/forums/forum/619814/topic/3409305

1 голос
/ 28 декабря 2010

Вы указали имя для уникального ограничения ?

@Unique(name="USERNAME_IDX")
private String username;
...