问题标签 [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 投票
2 回答
1352 浏览

android - ListActivity ormlite问题?

当我决定使用 ORMLite 时,我编写了相当多的代码。

阅读文档后,我发现我需要扩展如下:

但我已经用 ListActivity 扩展了它。

是否可以在不扩展 OrmLiteBaseActivity 的情况下做到这一点?

提前Tnx。

0 投票
2 回答
6789 浏览

android - Android OrmLite 预填充数据库

OrmLite 是否可以创建一个 sql 脚本文件来轻松地用数据填充数据库?我做了一些搜索,但找不到任何简单的东西。我知道我可以用数据创建一些对象,我只是在寻找一种更清洁的方法。

我正在考虑创建一个脚本文件,在加载时打开一个阅读器,并将每个文件作为原始 SQL 处理为 executeRaw() 方法。有什么想法吗?

0 投票
1 回答
3285 浏览

java - 我可以在 ORMLite 中暂时暂停自动生成的 ID 吗?

我在我目前正在编写的一个小应用程序中使用带有 ORMLite 的 Android。该应用程序旨在拥有一个有效的导入/导出功能,为此我使用简单的 XML 框架。在某种程度上,一切都很好。

情况如下:对象A包含一个引用对象B的外键,它通过外键本身引用对象C。导出数据库很棒。导入工作,有一个小警告,即只要所有对象的 ID 是连续的并且从 1 开始,它就可以工作。但是如果数据库是碎片化的,即我在这里和那里删除了一条记录,在我导出数据库之后,我在生成的 XML 结构中有“漏洞”。示例对象可能是:

假设我有一个包含 2 个客户(id 1 和 2)的数据库,它们分别保存从 1 到 5 和 6 到 8 的订单。导出这个然后在干净的数据库中重新导入效果很好。但是,如果我删除客户 1 及其订单并将其导出,则出口商将按原样写出他们的 id,即

等当我将数据导入一个新的数据库时,我会首先通过以下方式保存客户对象

然后他们的每个订单通过

问题是 create 函数忽略了提供的 id(不是 0),并且新生成的 customer id 是 1(在一个新的空数据库中)。订单也一样。但是由于他们引用了 id=2 的客户,所以他们之间的链接被破坏了。

所以在这个有点冗长的解释之后,这是我的问题:有没有办法告诉 ORMLite 为 generateId 字段获取提供的值并使用它运行,而不是覆盖它?如果创建函数在表中找到具有相同 ID 的行已经生成任何异常,我会没问题,但会继续保存记录,否则......我已经想到了一个解决方法:所有对象应该可以使用 Comparator 接口按 ID 排序;使用要导入的对象对 ArrayList 进行排序;对于每个对象 - 将假定 id 读入 int, - 使用 dao.create 保存到数据库, - 如果对象的新 id 与假定 id 不同,则通过 dao.updateId 更改它, - 移动到列表中的下一个对象.. . 但这似乎太麻烦且容易出错:如果create方法试图生成一个id怎么办,

我不相信我的情况如此罕见,以前没有人遇到过这种情况。我会很感激一个解决方案!

最好的问候,托多

0 投票
2 回答
575 浏览

java - 基本的 ORMLite 数据库问题

关于ORMLIte 网站上列出的示例,我有两个问题。

  • 我在哪里放置数据库以及如何导入它?
  • 我将DAO和连接工厂放在哪个类?
0 投票
2 回答
7705 浏览

sql - 如何在 ormlite ( SQLite ) 中执行多列唯一约束

我正在为 Android 使用 ormlite,我正在尝试获取多列唯一约束。截至目前,我只能对这样的个别列进行唯一约束:

我想要的是

在我的模型中,我一直在为唯一列使用以下注释:

有没有办法让它工作?

0 投票
4 回答
3998 浏览

java - 使用 ORMLite 准备查询的 SQL 异常

我正在使用 ORM (ORMlite) 并且我的所有调用都运行良好,直到出现以下错误。

线程“main”org.h2.jdbc.JdbcSQLException 中的异常:SQL 语句中的语法错误“SELECT * FROM”“STORIES”“WHERE”“TITLE”“='Deepcut case 导致'NOT FOLLOWED[*]''”;SQL 语句:SELECT * FROM StoriesWHEREtitle= '深度案例导致'未遵循'' [42000-152] at org.h2.message.DbException.getJdbcSQLException(DbException.java:327) at org.h2.message.DbException.get(DbException.java:167) at org.h2.message.DbException.get(DbException.java:144) 在 org.h2.message.DbException.getSyntaxError(DbException.java:179) 在 org.h2.command.Parser.getSyntaxError(Parser.java:480)在 org.h2.command.Parser.prepareCommand(Parser.java:229) 在 org.h2.engine.Session.prepareLocal(Session.java:426) 在 org.h2.engine.Session.prepareCommand(Session.java:374 ) 在 org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1093) 在 org.h2.jdbc.JdbcPreparedStatement.(JdbcPreparedStatement.java:71) 在 org.h2.jdbc.JdbcConnection.prepareStatement(JdbcConnection.java:601) 在 com.j256.ormlite.stmt.mapped.MappedPreparedStmt.compile(MappedPreparedStmt.java:44) 在 com.j256.ormlite.jdbc.JdbcDatabaseConnection.compileStatement(JdbcDatabaseConnection.java:83) 在 com.j256.ormlite .stmt.StatementExecutor.buildIterator(StatementExecutor.java:169) 在 com.j256.ormlite.stmt.StatementExecutor.query(StatementExecutor.java:119) 在 com.j256.ormlite.dao.BaseDaoImpl.query(BaseDaoImpl.java:189 )119) 在 com.j256.ormlite.dao.BaseDaoImpl.query(BaseDaoImpl.java:189)119) 在 com.j256.ormlite.dao.BaseDaoImpl.query(BaseDaoImpl.java:189)

我对出了什么问题感到困惑。我从以下几行调用搜索:

0 投票
3 回答
785 浏览

android - 是否可以在带有 h2 或 sybase 数据库的 android 上使用 ormlite?

我已经使用 sqlite、h2 和 sybase 数据库在 android 上实现了一个 database-testapp。对于 sqlite,我还实现了 ormlite 接口。现在我很感兴趣是否可以在 android 上使用 ormlite 也可以使用 h2 或 sybase。

0 投票
1 回答
4464 浏览

java - 为什么 ORMLite 中的 DAO 方法这么慢?

我有一个看起来像这样的方法

当我打电话时getDaoStore,这是一个相当漫长的过程。在我的日志中,我可以看到 GC 在每次调用它之后都会运行,所以我猜这个调用会发生很多事情。

有没有办法加快这个速度?

0 投票
2 回答
977 浏览

android - Android上可以使用ormlite动态生成DAO层吗?

我正在尝试解决这个问题。我想知道是否可以使用 ORMLite(或修改它)来支持这个用例?

谢谢。

0 投票
1 回答
23159 浏览

android - ORMLite 中的集合

您好,我想在我的 android 应用程序中使用 ORMlite 保留一些集合数据。例如 :

我应该如何做才能持久保存这个集合。

编辑

正如你告诉我的,我使用 ForeignCollectionField。但现在我有另一个问题 - 有可能这样的构造(我改变了一点班级)

我建造了这个结构,我把它放在 3 个 tabelas 里。

然后我这样做并出现错误:

有什么建议么 ?

编辑2

问题是从数据库中读取数据。这个程序工作正常,现在很好,但我只是用它来理解 ORMlite。非常感谢格雷的帮助。