草庐IT

Greendao

全部标签

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中的缓存对象,请使用

android - 了解 greenDao 中的删除和删除关系

第一个问题,greenDao什么时候生成实体的删除函数?调用entity.delete()和调用session.getEntityDao.delete(entity)有什么区别?其次,如果我删除一个父实体,其中的子实体与父实体具有ToOne关系,我必须自己删除子实体,不是吗?实际上并没有完成自动依赖“清理”,对吗? 最佳答案 entity.delete()要求实体是“活跃的”,dao.delete(entity)适用于所有实体。greenDAO中没有级联删除,您必须逐个删除实体。 关于a

android - 在 greenDao 中添加索引列的正确方法?

我正在greenDAO中构建数据模型。它是使用CoreData的iOS应用程序的端口。在iOS中,我们使用索引(索引?)来提高20列(属性)表中的查找性能,其中5列经常被查询。我知道这会导致额外的存储空间并降低写入表的速度。深入研究文档,我在Entity中发现了addIndex(Indexindex)方法和Property.PropertyBuilder中的index()方法.向实体添加索引的正确方法是什么?Entityentity=schema.addEntity("entity");entity.setSuperclass("SuperClass");entity.addIdPro

Android无法使用greendao使用sqlcipher加密数据库

我正在使用greendaoORM。我正在尝试使用SQLCipher加密我的数据库。Greendao自动支持sqlcipher。所以我写了下面的代码进行加密。DaoMaster.DevOpenHelperhelper=newDaoMaster.DevOpenHelper(context,"encrypted-db",null);Databasedb=helper.getEncryptedWritableDb("mySecretPassword");DaoSessionsession=newDaoMaster(db).newSession();returnsession;但是每当我使用这个

Android - 在 GreenDao 数据库中添加默认值

请问,在创建greenDao数据库时是否可以添加默认值?Example:PropertypictureIdProperty=user.addLongProperty("pictureId").getProperty();PropertythumbnailIdProperty=user.addLongProperty("thumbnailId").getProperty();//andhereIneedsomethinglikethis://thumbnailIdProperty.setDefault(-1);//thereispossibletoadduser.addToOne(pic

android - GreenDao freemaker.jar 丢失

我刚刚为GreenDao下载了新的jar文件以便为我正在构建的应用程序创建我的数据库。在完成对我的实体和它们之间的连接进行建模的所有过程之后,我尝试运行生成器项目,但在生成DB的行中出现此错误:Exceptioninthread"main"java.lang.NoClassDefFoundError:freemarker/template/ObjectWrapperatcom.glide.talk.glide.model.generator.Model.main(Model.java:29)Causedby:java.lang.ClassNotFoundException:freema