Android ORMLite 和如果不存在则创建逻辑

Android ORMLite and create if not exists logic

如果不存在则创建 恕我直言,ORM 仅当记录不存在时才会在 table 中创建记录。

我认为 ORMLite 默认使用这样的逻辑。但是 DAOcreate 方法只会复制记录。我已经尝试了 createOrUpdatecreateIfNotExist 方法,但其中 none 方法如我所愿。

我找到了另一个 SO question,它解释了 createOrUpdate 对 ID 执行检查,这些 ID 在我的 DTO 中具有默认值(空或 0)。

那么我是否需要创建自己的 DAO,从 ORMLite 的 BaseDaoImpl class 继承它们并覆盖 createIfNotExist 方法?这是迄今为止我想到的唯一想法。有没有更好的方法来实现理想的逻辑?

编辑

我试图覆盖自定义 DAOcreateIfNotExist 方法,但似乎只能直接调用它,即顶级 table 不会执行外键 createIfNotExist 的调用。

看来我需要用我自己的方法定义 CRUD 接口并在 BaseDaoImpl 方法上实现它们。

你可能想使用我的小库,它添加了这样的功能

DuplicatelessORMLite