GreenDAO:从现有实体生成 DAO 类导致关系问题
Posted
技术标签:
【中文标题】GreenDAO:从现有实体生成 DAO 类导致关系问题【英文标题】:GreenDAO: generate DAO class from existing entity cause issue with relation 【发布时间】:2016-06-24 12:58:40 【问题描述】:我的所有实体都在 .jar 中,因为我需要在 API 中将它们用于 webapp 和 android 应用程序。
经过研究,我发现greenDAO只能为我的实体生成DAO类,我只需要使用setSkipGeneration(true)
这项工作很好,但是,我尝试使用 2 个具有一对多关系的实体进行测试。 问题是:
我的实体 A 引用了实体 B,因此我使用 addToOne
方法将此关系放入我的 DAOGenerator 中。但是,greenDAO 生成器在我的 EntityDAO 上生成此方法:
@Override
protected void attachEntity(MyEntity entity)
super.attachEntity(entity);
entity.__setDaoSession(daoSession);
但是,entity.__setDaoSession(daoSession)
是不可能的,因为我的实体需要在其类中有一个 DaoSession
对象,但正如我一开始所说的那样是不可能的。
当我使用setSkipGeneration(true)
时,我认为我在做正确的事情,但我可能忘记了一些事情,你有我的问题的答案吗?
【问题讨论】:
【参考方案1】:您要求生成器为您的实体创建方便的方法来处理关系,addToOne
。这些方法需要通过DaoSession
完成的数据库访问。如果由于某种原因你在课堂上买不起DaoSession
,就不要要求关系方法。
【讨论】:
以上是关于GreenDAO:从现有实体生成 DAO 类导致关系问题的主要内容,如果未能解决你的问题,请参考以下文章
Android GreenDao 在组件化项目中的一个问题 - 2018年7月5日21:15:14