问题标签 [ormlite]

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 投票
3 回答
6760 浏览

android - Android、Ormlite、数据库位置

我正在使用 Ormlite 来保存我的 Android 应用程序(在摩托罗拉 Xoom 上运行)中的一些数据。默认情况下,sql数据库保存到/data/data/[包名]/databases/[dbname].db。麻烦的是,Xoom 没有root,因此用户无权访问保存数据库的目录(无法复制/备份/编辑数据库的内容)。

我在其中一个类中添加了一些额外的代码,以将 db 从 /data 复制到 sd 卡,这工作正常,但实际上我认为应该可以设置存储 db 的路径。我错过了什么,或者这对 Ormlite 来说是不可能的吗?

在此先感谢, C

0 投票
2 回答
38302 浏览

android - 什么是在 SQLite 和 Android 中使用 ORMLite 的好教程

我正在寻找一个关于如何将 ORMLite 与 SQLite 和 Android 一起使用的很好的介绍性教程。快速的谷歌搜索没有产生任何有用的信息。

0 投票
1 回答
862 浏览

android - OrmLite 更新缓慢

我有一个简单的结构,我注意到更新数据库中的记录需要很长时间才能执行。

这就是我的数据类的定义方式:

这是我的应用程序中某处的更新语句:

SQL 如下所示:

有没有人看到问题出在哪里?.update() 需要几秒钟,它应该立即执行。

任何想法都会很棒。

0 投票
2 回答
690 浏览

java - ORMLite - 强制读取对象具有相同的身份

我正在使用 ORMLite 读取对象的层次结构。它的形状像一棵树,父母有一个@ForeignCollection孩子0+,每个孩子都用@DatabaseField(foreign=true). 我正在一次读取并保存整个层次结构。

由于我一般是 ORM 和 ORMLite 的新手,所以我不知道当读取数据库中具有相同 ID的对象时,它们不会被创建为具有相同 Identity的实际相同对象,但作为具有相同 ID 的几个重复项。意思是,我现在面临的问题是(假设“->”代表“指”)A -> B -> C!= C -> B -> A。

我正在考虑通过提供的 DAO 手动读取它们并通过它们的 ID 将它们放在一起来解决问题,确保具有相同 ID 的对象具有相同的身份

是否有 ORMLite-native 解决此问题的方法?如果是,它是什么,如果不是,解决这个问题的常用方法是什么?这是ORM的普遍问题吗?它有名字吗(我想了解更多)?

编辑:

我的层次结构是,一个建筑物包含多个楼层,每个楼层都知道它的建筑物,每个楼层都包含几个区域,每个区域都知道它的楼层。

0 投票
2 回答
1716 浏览

ormlite - Ormlite 新手查询帮助

Ormlite 和 Android/Sqlite 有一些问题,所以任何帮助表示赞赏。数据库结构为

查询是

抛出以下错误

如果我将 id 作为字符串值传递,为什么它不会在查询中显示?

抛出的最终错误是

我认为这与原始错误有关?

提前致谢

0 投票
2 回答
14427 浏览

android - 在android上使用ormlite删除?

我有一个客户端 bean,

和一个城市豆,

这些 bean 只是一个示例,但假设我想在删除城市时删除所有具有外国城市 cityId 的客户端。

请问这怎么可能?

0 投票
1 回答
3572 浏览

android - 在两个线程中同时执行两个 SQLite 事务

我的 Android 应用程序中有一个特定的更新方法,它会生成相当多的数据 - 多达数百个数据库条目。除了 UI 线程,我还有一个后台服务。两个线程都必须执行更新方法,有时甚至同时执行——基本上,这是关于生成和缓存要显示的数据。UI 和后台服务都需要这些数据。

目前,我已经将方法的执行包装在一个 ORMLite 事务中,该事务映射到一个普通的 SQLite 事务。但是,恐怕有一天,当某些竞争条件破坏了数据缓存时,这会咬我一口。

问题:SQLite 事务是否保护我免受并发执行,或者我应该实现某种在生成器方法启动时产生的工作线程,或者如果生成器方法已经运行则阻塞?

更新:

我决定不依赖 SQLite 逻辑来保护我的高级 Java 方法。解决方案对我来说如下:

  • 将方法的生成部分包装为synchronized
  • 引入一个变量,跟踪最后一次执行方法的时间(设置在方法的最后,所以它是执行结束的标志)
  • 本节中的第一件事synchronized,检查最后一次执行是否在特定阈值内(例如过去 <= 100ms)
    • 如果是,跳过生成
    • 如果没有,执行生成

这样,就不应该发生重复生成,因为当同时从两个线程访问该方法时,第一个会生成,而第二个不会。对我来说最重要的部分是它仍然是阻塞的,因为两个线程都依赖于它们调用该方法后发生的生成。

0 投票
1 回答
10371 浏览

android - ORMLite 和图像在 Android 上另存为 BLOB

所以我最近在我正在编写的 android 平板电脑应用程序中将我的数据库内容切换到了 ORMLite。到目前为止一切顺利,大多数东西都被重构/重新编码。尽管我对最初作为 BLOB 存储在数据库中的内容有疑问。在我的原始数据模型中,它看起来像这样:

但我认为我不能在 ORMLite 中使用它,最好我可以告诉它必须是一个字符串,所以现在我有了:

但是现在,我对如何将这些数据位读取和写入字节等感到困惑......我正在使用这样的代码将数据传输到数据库和从数据库传输数据:

所以现在这就是我保存图像的方式,如果 ORMLite 中没有 BLOBS 并且我必须使用字符串,我不知道该怎么做?

为了完整起见,这就是我显示图像的方式:

那么我必须做些什么才能让这些图像进出数据库,字符串的字段类型对于“Blob”是否正确?

0 投票
1 回答
31416 浏览

java - 日历 .YEAR、.MONTH、DAY_OF_MONTH 与 date.getDay() 等不同?

我意识到这一点:

和这个:

产生不同的数字,我缺少一些初始化吗?我很在意,因为我正在使用 ORMLite 并尝试将日期存储到数据库中,这是一个 Date 对象,但 Date 已被弃用,因此我现在尝试使用 Calendar 但它似乎并不那么简单,因为上面的代码导致日、月、年的不同答案。

0 投票
1 回答
973 浏览

ormlite - ORMLite 中 dao.createOrUpdate() 的结果

我想知道是否有可能找出 ORMLite 的dao.createOrUpdate()方法是否实际创建或更新了表行。有一个结果对象 ( CreateOrUpdateStatus),其中包含这些信息,但所有指示字段 (createdupdated)numLinesChanged仅对包可见。这是一个错误还是有人知道为什么会这样?

谢谢。