问题标签 [greendao3]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
765 浏览

java - Android GreenDao 更新数据库方案

我有一个加密的数据库,在这个数据库中我有一些表。现在我想在我的一个表中添加一个额外的列,但从未调用过onUpgrade()方法。

我像这样初始化我的数据库:

我的DatabaseUpgradeHelper对象基于此示例:示例

我的实现在这里:

我调试了我的代码,但应用程序从未调用onUpgrade(Database db, int oldVersion, int newVersion)方法。为什么?

更新:我使用 greenDao 3.1.1

UPDATE2:这是一个例外:

0 投票
0 回答
214 浏览

android - 如何在 GreenDAO 中使用非主键的源属性进行多对多关系查询?

假设我们有以下实体: 项目:

标签:

我们需要加入他们。这是我的加入实体类:

我想使用标签名称作为连接属性而不是 Long id,因为在与服务器同步时更容易支持一致性。但是目前 Item 类中的标签 getter 总是返回一个空列表。我查看了日志,发现生成的查询在该 getter 内部使用:

所以问题是连接是基于标签的_id字段的。GeneratedList<Tag> _queryItem_TagsWithThisItem(String itemGuid)方法隐式使用该 id 进行连接:

正确的方法是这种情况可能如下,我想:

但是这段代码在生成的 dao 中,我不知道如何处理它。有没有办法解决这个问题?

0 投票
1 回答
283 浏览

android - 从 Greendao3 迁移到 Object box

我从 GreenDao3 迁移到 ObjectBox,但我的项目没有构建。我收到这样的错误

../app/build/generated/source/kapt/indexDebug/com/aff/index/main/boxdb/AliasDao.java 错误:(53、29)错误:找不到符号方法getContentId()

这是我在 GD3 中的别名课程:

这是 ObjectBox 别名类:

这是由 ObjectBox 生成的 DAO

这是GD3 Daogenerator的别名实体

我不知道为什么 Object Box 将 getContentId() 生成到 DAO 中,或者我该如何解决它。

0 投票
1 回答
102 浏览

android - Greendao 3,制作用户表,用户名不重复

我在寻找这个问题的解决方案几个小时后问了这个问题,但没有找到。我已经建立了一个包含三列的数据库:用户名、密码和年龄。我能够插入新用户并更新他们,但我希望插入两个相同的用户名是不可能的。我知道如何在 sqlite 中做到这一点,但在 greendao 中它不适合我。谢谢你。

这是我的用户类:

0 投票
1 回答
101 浏览

java - 由于 serializationVersionUID 警告,无法完成构建

我们目前在这个项目中使用 greenDAO3。我相信我们在某个时候使用了 greenDAO2,因为我们似乎使用的是旧的生成器类。

因此,我试图在数据库中添加一个新表,以在我们的应用程序中添加一个新功能。我对 greenDAO 不是很熟悉,但我认为让它在构建时使用 Gradle 自动生成文件会更容易。

一切正常,但是在我的 root.gradle 和 app.gradle 添加了一些东西之后,我得到了这个错误。

这些是我所做的更改。

当我禁止警告时,它会进入db文件夹中的下一个可序列化类。我真的不想抑制警告,因为在这种情况下这似乎是不好的做法。

0 投票
2 回答
583 浏览

android - 使用 GreenDao 时启用 proguard 的发布版本中的应用程序崩溃

我在我的项目中使用 GreenDao,当我在发布模式下构建应用程序时,应用程序崩溃。minifyEnabled false如果我在 gradle 中禁用 proguard ( ),那么它运行良好。我在proguard中使用了以下规则。

错误日志如下:

您知道为什么会发生此错误吗?提前致谢。

0 投票
1 回答
40 浏览

greendao - 在 greendao 中使用 Decimal(10,2) 的最佳数据类型是什么

我正在尝试将用 sqlite 编写的旧数据库迁移到 greendao ORM,我需要将列设置为 DECIMAL(10,2) 以存储商品的价格。我可以使用的等效数据类型是什么。我需要为此使用自定义数据类型吗?