创建(如果不存在)恕我直言意味着ORM
只有在它不存在的情况下才会在表格中创建记录。
我认为ORMLite默认使用这样的逻辑。但DAO
的{{1}}方法只会制作重复的记录。我尝试了create
和createOrUpdate
方法,但没有一种方法可以正常使用。
我找到了另一个SO question,它解释了createIfNotExist
对我的createOrUpdate
s中有默认(null或0)值的ID执行检查。
所以我需要创建自己的DTO
,从ORMLite的DAO
类继承它们并覆盖BaseDaoImpl
方法吗?这是唯一一个到目前为止我想到的想法。是否有更好的方法来实现理想的逻辑?
修改
我已尝试覆盖自定义createIfNotExist
的{{1}}方法,但似乎只能直接执行调用,即顶级表格不会执行调用外键的createIfNotExist
。
似乎我需要使用自己的方法定义DAO
接口,并在createIfNotExist
方法上实现它们。