Создать, если не существует IMHO означает, что ORM
создаст запись в таблице, только если она еще не существует.Android ORMLite и создать, если не существует логика
Я думал, что ORMLite использует такую логику по умолчанию. Но метод DAO
create
делает только дубликаты записей. Я пробовал методы createOrUpdate
и createIfNotExist
, но ни один из них не работает, как я желаю.
Я нашел еще один SO question, который объясняет, что createOrUpdate
выполняют проверку идентификаторов, которые имеют значения по умолчанию (null или 0) в моих DTO
s.
Мне нужно создать свой собственный DAO
s, унаследовать их от класса ORMLite BaseDaoImpl
и переопределить метод createIfNotExist
? Это единственная идея, которая доходит до меня до сих пор. Есть ли лучший способ реализовать желаемую логику?
EDIT
Я попытался переопределить createIfNotExist
метод пользовательских DAO
, но кажется, что вызов к нему может осуществляться только непосредственно, то есть таблица верхнего уровня не выполняет вызов внешнего ключа createIfNotExist
,
Похоже, мне нужно определить интерфейс CRUD
своими методами и реализовать их по методу BaseDaoImpl
.