我的应用程序使用远程RESTAPI并使用greenDao填充本地数据库。我有一个AsyncTask类的服务:@OverrideprotectedVoiddoInBackground(Void...params){insert100RowsIntheFirstTable();insert100RowsIntheSecondTable();}在每个插入方法中,我都有insertOrReplaceInTx,我主要使用它来提高性能。我需要的是在任何方法无法检索数据时放弃结果。它应该通过同一笔交易完成。我想知道在方法中使用insertOrReplaceInTx时,用mDaoSession.cal
有没有办法用greenDao按相关表中的字段排序?例如。我有一张汽车表和一张司机表。每辆车都有一个司机。现在我想查询(例如蓝色)汽车并按司机姓名排序 最佳答案 在QueryBuilder中,有指定排序顺序的方法。寻找以“order...”开头的方法,例如orderAsc(属性)。 关于android-greendao按相关表中的字段排序,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/question
在greendao常见问题解答中,它说“从greenDAO开始,对字符串主键的支持有限。”http://greendao-orm.com/documentation/technical-faq/我找不到任何地方说明如何执行此操作。我在服务器应用程序中使用Guid作为我的主键,并希望能够从Android设备远程生成新数据并将其上传回服务器。android设备上的数据库是sqlite并使用greenDAO生成POJO和数据访问层。当数据上传到服务器时,我使用Guids来避免主键冲突。我将Guid存储为字符串。greendao网站上还有一些建议说我应该创建一个辅助字段来保存字符串,并且仍然使
我想根据条件从表中删除行。喜欢“从Name='Value'的表中删除”这里我使用的是greenDAO数据库。 最佳答案 1检查documentation.2为您的表创建一个DeleteQuery3执行它4清空session,让所有缓存也丢失删除的对象。finalDeleteQuerytableDeleteQuery=daoSession.queryBuilder(Table.class).where(TableDao.Properties.Name.eq("Value")).buildDelete();tableDeleteQuer
GreenDAO只支持LIKE运算符的一个位置。这是“喜欢?”我想用这个运算符的各种方式获取记录。例如,"LIKE%?"、"LIKE?%"和"LIKE%?%"。但GreenDAO不支持它。我还使用了queryRaw()和queryRawCreate(),不幸的是它也没有用。例如:libDocSeriesDao.queryRawCreate("WhereT.TitleLike'%?%'OrT.ViewTitleLike'%?%'",aKeyword,aKeyword).listLazy();如有任何帮助,我们将不胜感激。 最佳答案 当
GreenDao是否支持多列唯一约束?等同于以下内容:createtableprojects(_idintegerprimarykeyautoincrement,project_typetext,nametext,unique(project_type,name)); 最佳答案 是的,它支持。创建一个包含所有属性的索引并使其唯一。IndexindexUnique=newIndex();indexUnique.addProperty(project_type);indexUnique.addProperty(name);indexUn
我在我的Android应用程序中使用GreenDaoORM。如前所述here,可以使用DaoSession.clear();为了清除session的所有缓存对象。我的问题是:如何清除特定实体(而不是全部)的缓存对象?我该怎么做? 最佳答案 下个版本会有dao.detachAll()。提交在这里:https://github.com/greenrobot/greenDAO/commit/6a658c84e7de97073a260e062b06e3cc13a18196旁注:使用yourDao.detach(yourEntity)从身份范
我目前正在使用greenDAO作为我的Android应用程序的ORM。我在尝试执行GROUPBY子句时遇到了问题。greenDAO没有用于执行groupby子句的API/辅助方法,因此我决定使用可用于AbstractDAO类的query()或queryRaw()方法,我可以在其中通过有效的SQL查询。但是,这两种方法都返回一个java.util.List,所以让我感到困惑的是如何在结果中获取列别名的值?例如,SELECTCOUNT(ID)ASNUMOFRECORDS,NAMEFROMPERSONSGROUPBYAGE我的实体将有NAME和AGE字段,但我创建了一个列别名NUMOFREC
我刚刚开始使用greenDAO。如何添加枚举属性?我的想法:使用实体的addIndex属性。privatestaticvoidmain(){//TODOAuto-generatedmethodstubstaticSchemablah;Entityunicorn=blah.addEntity("Weather");unicorn.addIdProperty();unicorn.addIntProperty("currentAirTemp");unicorn.addIndex("shirtSize");}这是正确的做法吗?目标:我想引用集合中的shirtSize:{XS,S,M,L,XL,
我已经使用GreenDAO设置了一个新项目,能够使用DaoGenerator通过ExampleDAO生成。一切正常。我还在androidAssets文件夹中提供了一个预填充的sqlite数据库,在应用程序运行时,它被复制到android数据库系统路径。现在我想与SqlCipher集成,对我的数据库进行加密......如果有人可以提供帮助或提供示例应用程序,那将是一个很大的帮助。 最佳答案 请告诉我这些解决方案是否适合您:集成的示例项目:https://github.com/ywenblocker/GreenDao-SQLCipher