2016-11-30 5 views
0

Создать, если не существует IMHO означает, что ORM создаст запись в таблице, только если она еще не существует.Android ORMLite и создать, если не существует логика

Я думал, что ORMLite использует такую ​​логику по умолчанию. Но метод DAOcreate делает только дубликаты записей. Я пробовал методы createOrUpdate и createIfNotExist, но ни один из них не работает, как я желаю.

Я нашел еще один SO question, который объясняет, что createOrUpdate выполняют проверку идентификаторов, которые имеют значения по умолчанию (null или 0) в моих DTO s.

Мне нужно создать свой собственный DAO s, унаследовать их от класса ORMLite BaseDaoImpl и переопределить метод createIfNotExist? Это единственная идея, которая доходит до меня до сих пор. Есть ли лучший способ реализовать желаемую логику?

EDIT

Я попытался переопределить createIfNotExist метод пользовательских DAO, но кажется, что вызов к нему может осуществляться только непосредственно, то есть таблица верхнего уровня не выполняет вызов внешнего ключа createIfNotExist ,

Похоже, мне нужно определить интерфейс CRUD своими методами и реализовать их по методу BaseDaoImpl.

ответ

-1

вы можете использовать мою крошечную библиотека, которая добавляет такую ​​особенность

DuplicatelessORMLite