草庐IT

greendao3

全部标签

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

android - greendao:调试查询的方式?

有什么办法可以使greendao将正在执行的查询吐到Logcat中?我只是想确保一切正常,这将是一个很好的功能,同时习惯了系统。 最佳答案 类QueryBuilder对此有一个静态标志:/**SettotruetodebugtheSQL.*/publicstaticbooleanLOG_SQL;所以只要设置*QueryBuilder.LOG_SQL=true*,你就会得到你想要的。 关于android-greendao:调试查询的方式?,我们在StackOverflow上找到一个类似的问

android - GreenDAO 支持表之间的多种关系

我一直在尝试使用GreenDAO创建数据库模型。当我试图在不同的表之间创建多个关系时,问题就出现了。基本上,我有一个Message表、一个Conversation表和一个User表。用户有一个消息列表,消息有一个父对话。我尝试编写这段代码来创建数据库:privatestaticvoidaddUser(Schemaschema){user=schema.addEntity("User");userId=user.addIdProperty().getProperty();user.addStringProperty("facebookId").unique().index();user.

android - greenDAO 40秒插入600条记录

我选择greenDAO是因为它的网站声明它是android最快的ORM系统之一。令我失望的是,在三星i9001上插入600条记录需要40秒。我不确定我是否做错了什么。您能提出什么建议来减少执行这些操作所需的时间吗?生成器代码:privatestaticvoidaddNewsArticle(Schemaschema){Entityarticle=schema.addEntity("NewsArticle");article.addIdProperty().autoincrement();article.addStringProperty("title").notNull();articl

android - 在 GreenDao 中,使用 OR 而不是 AND 构建连接查询

我用GreenDaov2.1.0生成了一个SQLite数据库。Hereisitsdiagram(atinypieceofit)一个联系人可以有多个电话号码。我想进行搜索查询:列出GIVEN_NAME或FAMILY_NAME或PHONE.NUMBER包含特定字词的所有联系人。例如,withtheseentries,如果我使用单词“bob”,将返回联系SpongeBob。如果我使用“222”这个词,将返回联系人PatrickStar。由于查询涉及到两个表,所以我用这段代码求助于JOIN方案:QueryBuilderqb=getContactDao(context).queryBuilder

android - GreenDAO - 多列上的主键

GreenDAO是否支持多列主键?我在两列上使用Property的方法primaryKey()但它不起作用。我遇到异常:Causedby:android.database.sqlite.SQLiteException:table"table"hasmorethanoneprimarykey如何在多列上创建主键?我应该编辑生成的DAO类吗? 最佳答案 documentation说:Currently,entitiesmusthavealongorLongpropertyastheirprimarykey.[...]Toworkarou