2015-01-23 4 views
3

Можно ли создавать столбцы, которые уникальны с Sugar ORM? Или можно вставить или заменить указанную строку, скажем, по имени пользователя, однако это имя пользователя может быть не в db, потому что он может быть не создан.Уникальные столбцы в Sugar ORM

ответ

8

Это еще не подтверждено в официальном выпуске 1.3. Но для этой функции вы можете использовать последний источник https://github.com/satyan/sugar.

Уникальное ограничение можно указать с помощью аннотации @Unique. В настоящее время поведение по умолчанию заключается в замене конфликта. Итак, если уникальное ограничение нарушено, оно заменит существующую строку.

+0

спасибо за ответ – user1275995

+2

Пожалуйста, добавьте это в Gradle – Rohit

+0

Здравствуйте @Satya, является поддержка SugarOrm 1.3.1 "@Unique", я использую компиляции «com.github. сатьян: сахар: 1.3.1 'на град –

1

Как сказала Сатья, официальная аннотация в последнем стабильном выпуске отсутствует, но вы можете использовать аннотацию @Unique с последней предварительной версией. Я не знаю, что делает эта аннотация, но я попробовал ее и обнаружил, что должен проверять базу данных для того же результата, и если возвращаемый список пуст, чтобы данные были уникальными. Здесь приведен пример:

if (Contacts.find(Contacts.class, "phone_number = ?", phoneNumber.getText().toString()) 
       .isEmpty()) { 
      new Contacts(fullName.getText().toString(), 
        phoneNumber.getText().toString(), 
        picture.toString()).save(); 
      startActivity(new Intent(this, MainActivity.class)); 
     } else { 
      Toast.makeText(this, "Already exists!", Toast.LENGTH_LONG).show(); 
     } 
0

Да, вы можете использовать аннотацию @Unique для своего класса db.

com.github.satyan: сахар: 1,4

Смежные вопросы