草庐IT

greendao3

全部标签

java - 如何通过 GreenDAO 建立双向一对一关系?

我将ORMGreenDAO用于我的Android应用程序的DAL层。我在两个表之间的一对一关系中遇到问题。例如:Entitypage=schema.addEntity("Page");Entitybookmark=schema.addEntity("Bookmark");PropertypageIdProperty=bookmark.addLongProperty("pageId").getProperty();bookmark.addToOne(page,pageIdProperty);//anybookmarkrelatedtoapagepage.addToOne(bookmark

android - 使用 greenDao 动态查询

我需要验证一些条件来创建一个完整的查询:QueryBuilderqb=getMyObjDao().queryBuilder();if(someCondition)qb.where(MyObjDao.Properties.Prop1.eq(someValue));elseqb.whereOr(MyObjDao.Properties.Prop2.eq(someValue),MyObjDao.Properties.Prop2.eq(someValue));if(someOtherCondition)qb.where(MyObjDao.Properties.Prop3.eq(someValue

Android GreenDAO 生成额外的 ID 属性

这是我的架构生成代码:Schemaschema=newSchema(VERSION,"com.example.dao");Entityplayer=schema.addEntity("Player");PropertyplayerIdProperty=player.addStringProperty("id").primaryKey().getProperty();player.addStringProperty("name").notNull();player.addStringProperty("created_at");player.addStringProperty("upda

android - 具有相对输出路径的 greenDAO 模式生成;未找到 i/o 失败

跟随thistutorial,我已经能够创建一个可以编译和运行的工作应用程序模块,但如果我将相对路径传递给generateAll方法,则会失败。如果我指定一个绝对路径,它工作正常。我的androidstudio项目由几个模块组成,结构如下project_root,每个模块都有子目录/道生成器/应用每个都有自己的src目录,我这样调用generateAll:newDaoGenerator().generateAll(schema,"../app/src");这会导致io错误,表明该目录不存在。我已经将路径修改为许多合理的替代方案,并确认路径存在于磁盘上,但仍然出现错误。绝对路径工作正常,

android - Unresolved reference : DaoSession using greendao and kotlin

我正在尝试将一个用java编写的android项目转换为kotlin。我的greendao类是在我构建时生成的,我收到Unresolvedreference:DaoSession错误消息。我有kapt{generateStubs=true}在我的构建gradle代码中。 最佳答案 在您的应用程序build.gradle中将您的greendao插件移动到kotlin插件之前,如下所示:applyplugin:'org.greenrobot.greendao'applyplugin:'kotlin-kapt'applyplugin:'k

android - 注释 greenDao 生成的对象

我看到由于性能问题,greenDao不喜欢为DAO和TO生成使用注解。但是,如果我仍然需要为解析器注释例如TO怎么办?有什么办法可以实现吗?例子:如果我们使用GreenDAO代码生成创建一个Customer实体,它会创建CustomerDAO和Customer类,对吗?那么,如果我正在使用SOAPWeb服务,它会返回一个Customer对象,为了便于解析这个Customer对象,我使用了一种带注释的框架,如simpleXML。在使用GreenDAO重新生成代码时,有没有什么方法可以更改Customer类而不会丢失所有注释?谢谢! 最佳答案

android - 在具有 2 个不同模式的 Greendao 中使用超过 1 个数据库 - Android

我在项目中有2个数据库,其中一个是在我打开应用程序时创建的,另一个是随Assets提供的。生成DaoSession时,会为所有模型创建DaoSession。gradle文件中的Schema也用于两个数据库如何区分这2个数据库及其模式? 最佳答案 您需要创建两个不同的类来扩展org.greenrobot.greendao.database.DatabaseOpenHelper。这两个不同的类DevOpenHelperForDatabase1和DevOpenHelperForDatabase2将处理数据库相关的I/O。从下面的代码中可以

android - GreenDAO:存储其他实体中的实体列表

我正在玩弄GreenDAO,我想我喜欢它的工作方式。我不喜欢编写SQL代码,所以这将帮助我避免它;)但是,我仍然认为它确实是非常基于“sql”的,考虑您如何设置它。不确定这是否是一件坏事(了解事情是如何运作的),但我宁愿说:这是我的对象!存储它!但是我还没有找到任何关于这个的东西......但是好吧,我正在做的是:我有一个对象,比方说一个书架。我把一些书放在了书架上。这看起来像:classBookShelve{Listbooks;voidadd(Bookb){books.add(b);}}BookShelvebs=newBookShelve();Bookb1=newBook();Boo

android - 如何构建一个 GreenDao 查询来加载通过 id 列表指定的所有项目?

我有一个字符串列表,每个字符串都是通过GreenDao保留的项目的唯一标识符。如何构建查询以从我的数据库中加载所有这些项目?是否有可能使用QueryBuilder来完成,或者我是否需要返回编写SQL? 最佳答案 这可以通过in实现Property类中的条件。此示例加载字段值包含在fieldValues中的所有框.fieldValues类型为ListListboxes=getBoxDao(context).queryBuilder().where(LocalBoxDao.Properties.field.in(fieldValues)

android - greendao 从数据库和 session 中删除

我正在为一个android项目使用greendao,想知道如何从数据库和session缓存中正确删除和对象。目前我执行以下操作以从数据库中删除:ChatDaochatDao=daoSession.getChatDao();chatDao.queryBuilder().buildDelete().executeDeleteWithoutDetachingEntities();然而,正如方法名称和文档所述,这可能会在session缓存中留下陈旧的对象,我怎样才能从那里也删除对象? 最佳答案 要清除DaoSession中的缓存对象,请使用