在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
我有两个使用Greendao生成器生成的实体。这两个实体是Hospital和Patient。Hospital和Patient之间存在一对多的关系。所以一个医院可以有多个病人,一个病人只能有一个医院。因此,医院将包含患者列表。greendao生成器的代码是->packagecom.myapp.generator;importorg.greenrobot.greendao.generator.DaoGenerator;importorg.greenrobot.greendao.generator.Entity;importorg.greenrobot.greendao.generator.
我正在使用greenDao访问我的Android手机中的数据库。一切似乎都很好,并遵守。但是当我运行这个程序时,它在DaoMaster.java->OpenHelper类,在createAllTables(db,false)的onCreate方法崩溃了;以下是异常信息:>05-0315:40:34.109:E/AndroidRuntime(28587):FATALEXCEPTION:main05-0315:40:34.109:E/AndroidRuntime(28587):java.lang.NoClassDefFoundError:com.hook38.sporttimer.mode