问题标签 [foreign-collection]

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 投票
1 回答
1057 浏览

ormlite - 无法理解/使用 ORMLite 中的 ForeignCollectionField

使用嵌入式外部集合持久化对象的正确方法是什么?目前我正在使用以下内容,但Could not create data element in dao如果我在 zonePlay 已经存在的情况下将“zoneplay”对象添加到客户 zonePlays 集合中,则会出现错误。是否应该使用某种 upsert 方法添加到外部集合中,或者我是否需要在插入之前以某种方式检查是否存在?

然后我运行这个

0 投票
1 回答
1470 浏览

android - IllegalArgumentException:字段 xxx 是原始类 class xxx 但标记为外部

我正在使用 ormlite-core-4.46 和 ormlite-android-4.46,但我仍然收到此错误。以下是我的异常跟踪日志:

这是具有外部集合的类:

这是具有上述类的外部字段的类:

有谁知道问题出在哪里???真的让我快疯了!!


我假设android config.txt 为ormlite_config.txt,所以我删除了该文件,并再次生成该文件,但问题仍然存在。下面是文件:

0 投票
1 回答
265 浏览

java - ForeignCollection 使用 queryRaw() 自动加载

我有一Card堂课,里面有一个渴望ForeignCollection。我必须使用 a 来查询此类的实例Dao.queryRaw(),因为 mySELECT太复杂而无法用简单的方式构建QueryBuilder(请参阅我的其他问题)。这就是我查询和构建对象的方式RawRowMapper

不幸的是,当我尝试获取ForeignCollection我的对象时,它返回 null。如果我用一个简单Dao.queryForFirst的查询对象,ForeignCollection就可以了。

0 投票
1 回答
1327 浏览

android - 无法在 ForeignCollection ORMLite 中创建数据元素

我有联系和小组课程。每个联系人可以在多个组中,一个组可以有很多联系人。我的课程:

当我需要将联系人列表添加到指定组时,我会执行以下操作:

但得到

我怎样才能解决这个问题?

0 投票
1 回答
10806 浏览

android - ORMLite 多对多关系 Android

我有两节课:

UniteStratigraphique.java:

坎帕涅.java:

如您所见,这些是多对多链接的(0...n---0...n,带有 ORMLite 注释)。

现在,我的工作流程是:


我创建了多个“UniteStratigraphique”类并将它们存储到我的数据库中(这很好用)。

=> 所以我存储了 n * "UniteStratigraphique"。

之后,我想要创建一个“Campagn”类,其中包含多个“UniteStratigraphique”类。

=> 所以我想从 "Campagne.java" 设置这个字段:

使用我之前存储的 n * "UniteStratigraphique" 元素。

我尝试使用此 DAO 方法执行此操作,但它仅将“UniteStratigraphique”类复制到我的数据库中,并且没有创建链接。

在我的活动中,我正在这样做:

0 投票
1 回答
962 浏览

android - Ormlite - 从 ForeignCollection 但不从数据库中删除嵌套对象

我有包含 GroupItem 的 ForeignCollection 的 ContactItem:

和 GroupItem,其中包含 ContactItem 的 ForeignCollection:

我需要从 GroupItem 的 ContactItems 的 ForeignCollection 中删除 ContactItem。我这样做:

但它会从整个数据库中删除 ContactItem。但我只需要从 ForeignCollection 中删除它。我该如何实施?

0 投票
1 回答
492 浏览

sql - 在服务器执行 SQL 脚本错误:错误 1215:无法添加外键约束

我已经检查过其他类似的问题。检查是否有重复项 - 无,如果相同的数据类型 - 是的。关系——是的。未选中“On Delete Set Null”。

我仍然不知道这个错误是如何产生的

在服务器中执行 SQL 脚本

错误:错误 1215:无法添加外键约束


- 表ApoPurchasingOrder


如果不存在则创建表ApoPurchasingOrder(

PurchaseNo.INT NOT NULL AUTO_INCREMENT,

ModelNo.整数空,

UnitPrice整数空,

Product/NameVARCHAR(45) 空值,

Quantity整数空,

SourceVARCHAR(45) 空值,

主键 ( PurchaseNo.),

指数Source( SourceASC),

约束Supplier_Source

引擎 = InnoDB

SQL 脚本执行完成:语句:9 成功,1 失败

以最终形式获取回视图定义。

没有什么可取的

0 投票
1 回答
1953 浏览

android - 已经反序列化的惰性集合不能使用

我在我的项目中使用 ORM Lite,并且我遇到这样的情况,即逐步 putExtra 一个 Person 对象的意图,该对象具有一个 Email 对象的集合,但是当我尝试读取这个 Collection 时,它就像 LazyLoad (eager = false ) 下面遵循用于检索电子邮件集合的模型和代码:

检索集合:

我收到以下错误:

12-18 11:48:08.168: E/AndroidRuntime(26028): 致命异常: main 12-18 11:48:08.168: E/AndroidRuntime(26028): java.lang.RuntimeException: 无法启动活动 ComponentInfo{com. example.pedidosexample/com.example.abertura.CadastroVisualizacao}:java.lang.IllegalStateException:内部 DAO 对象为空。如果已经反序列化,则不能使用惰性集合。12-18 11:48:08.168: E/AndroidRuntime(26028): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1970) 12-18 11:48:08.168: E/AndroidRuntime(26028): 在 android. app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 12-18 11:48:08.168: E/AndroidRuntime(26028): 在 android.app.ActivityThread.access$600(ActivityThread.java:128) 12-18 11:48 :08.168: E/AndroidRuntime(26028): 在 android.app.ActivityThread$H。在 dalvik.system.NativeStart.main(Native Method) 12-18 11:48:08.168: E/AndroidRuntime(26028): Caused by: java.lang.IllegalStateException: Internal DAO object is null。如果已经反序列化,则不能使用惰性集合。12-18 11:48:08.168: E/AndroidRuntime(26028): 在 com.j256.ormlite.dao.LazyForeignCollection.seperateIteratorThrow(LazyForeignCollection.java:310) 12-18 11:48:08.168: E/AndroidRuntime(26028) : 在 com.j256.ormlite.dao.LazyForeignCollection.iteratorThrow(LazyForeignCollection.java:71) 12-18 11:48:08.168: E/AndroidRuntime(26028): 在 com.j256.ormlite.dao.LazyForeignCollection.closeableIterator(LazyForeignCollection .java:60) 12-18 11:48:08.168: E/AndroidRuntime(26028): 在 com.j256.ormlite.dao.LazyForeignCollection.iterator(LazyForeignCollection.java:47) 12-18 11:48:08.168:

该错误清楚地说明了问题所在,但它有另一种方法将 Person 对象传递给另一个意图,并且适用于 lite ORM?

谢谢!

0 投票
1 回答
1832 浏览

java - 如何手动填写国外收藏

我有:

我想从来自 Web 服务的数据中填充这个集合,因为我想将此数据插入到我的 Sqlite 数据库中。

我试着用这个:

但我得到了错误

我怎样才能毫无问题地做到这一点?我应该为此创建新变量吗?

0 投票
0 回答
791 浏览

android - 保存复杂对象及其子实体 ORM Lite

我在一个项目中使用 ORM Lite,我决定使用该工具使持久性成为 Web 服务的一部分,并且可以在 Android 上重用它。

但是我很痛苦,因为possou复杂的对象有多个ForeignCollectionField和Foreign object,而在坚持这些数据的时候很头疼,因为我要一个一个地输入他们的孩子,我想的想法ORM 让生活更轻松,即你必须坚持对象和父亲,其余的一切都在幕后完成......

好吧,现在放弃lite ORM为时已晚,我想知道是否有办法做上面的sitei ..

我在这里找到了一段代码

试图实现但似乎不起作用,只是不断保存父对象。

遵循我正在尝试使用的功能,但不知道导入是否正确,因为我在上面的链接中找到的代码没有这个数据

利用同一个帖子,还需要一个 colução 来删除级联,想象一下我有以下表格的情况:

公司>分类>人员>联系方式>电话和邮箱

删除,现在我按照文档中的说明进行操作:

但是与公司没有直接联系的对象仍然在数据库中,我该怎么办?

但是没有黑客,我想要一个干净的代码......

我知道 ORM Lite 确实是 lite,但是节省子级创建和删除级联的功能对于任何 ORM 都是必不可少的,希望在下一个版本中实现它,遗憾的是没有这些功能,对于简单的项目来说非常好,但是在一个复杂的项目,因为很多头痛,我的皮肤感觉。

欢迎任何帮助!