ORMLite:内部 DAO 对象为空

2023-12-06

我正在使用 ORMLite,尝试使用foreignCollectionKey,但出现以下错误:

内部 DAO 对象为空。如果 LazyCollections 已被反序列化,则无法使用它们。

我的对象名为 Zone :

public class Zone implements Serializable {

    private static final long serialVersionUID = 1L;
    public static final String ZONE_ID = "id"; 
    public static final String ZONE_PARENT_ID = "parentZoneId";

    @DatabaseField(generatedId=true)
    private int id;
    @DatabaseField()
    String name;
    @DatabaseField(foreign=true, foreignAutoRefresh = true)
    Zone parentZone;

    @ForeignCollectionField(foreignFieldName = "parentZone", eager = true)
    private ForeignCollection<Zone> zoneChild;

    public Zone() {
        // TODO Auto-generated constructor stub
    }
    public ForeignCollection<Zone> getZoneChild() {
        return zoneChild;
    }
    public void setZoneChild(ForeignCollection<Zone> zoneChild) {
        this.zoneChild = zoneChild;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

在类中,我正在执行递归方法来获取所有区域子对象:

public void getZone(Zone zone, Dao<Zone, Integer> tempZoneDao){
    ZoneListEntity zoneEntity = new ZoneListEntity();
    zoneEntity.setName(zone.getName());
    zoneEntity.setNiveau(0);
    zoneEntity.setZone(zone);
    mainZoneList.add(zoneEntity);

    List<Zone> childList = new ArrayList<Zone>(zone.getZoneChild());
    //set rootZone's children as ZoneListEntity
    for(Zone currentZone : childList){
        ZoneListEntity zoneGroup = new ZoneListEntity();
        zoneGroup.setName(currentZone.getName());
        zoneGroup.setZone(currentZone);
        System.out.println("Zone : "+currentZone.getName());
        getZone(currentZone, tempZoneDao);
    }
}

当我第一次进入我的getZone,一切顺利。然后当我循环时getZone应用程序在尝试访问子区域时崩溃:

List<Zone> childList = new ArrayList<Zone>(zone.getZoneChild());

你有什么想法 ?我的模型构造正确吗? 谢谢


你有什么想法 ?我的模型构造正确吗?谢谢

所以异常消息试图解释发生了什么。我不确定如何改进。

内部 DAO 对象为空。如果 LazyCollections 已被反序列化,则无法使用它们。

您正在尝试访问zoneChild这是一个ForeignCollection已被反序列化。由于它已被反序列化,因此无法重新建立所有底层数据库配置和连接。我猜当它存储在 Android 中时可能会发生这种情况Bundle?我不确定这是否是唯一的情况。

如果您需要获得Zone你必须打电话给孩子dao.refresh()在实体上after您反序列化它或通过执行以下操作自己进行查询zoneDao.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ORMLite:内部 DAO 对象为空 的相关文章

  • Android mediacontroller 播放暂停控件无法正确刷新

    我在我的活动中使用了 MediaController 它工作正常 但是当我第一次播放视频时 应该有 b 可见的暂停按钮 但相反 有播放 当我按下该按钮时 视频会正确暂停 状态保持不变 之后它工作正常 视频完成时也会发生同样的事情 这是一个错
  • 如何使用appium自动化Android手机后退按钮

    我正在使用 Appium python 客户端库 对 Android 上的混合移动应用程序进行测试自动化 我无法找到任何方法来自动化或创建手势以使用 电话后退 按钮返回到应用程序的上一页 有没有可以使用的驱动函数 我尝试了 self dri
  • 找不到导航对象。您的组件是否位于导航器屏幕内?

    在我下面的代码中 当我使用 useNavigation 时 它会给出像我的问题一样的错误 如何使用useNavigation 请任何人都可以解决此错误 错误 找不到导航对象 您的组件是否位于导航器屏幕内 我从这里跟踪了代码https rnf
  • 两个具有相同 id 的视图

    安卓如何使用R id id name膨胀 XML 后查找视图 1 假设我有两个 XML 每个按钮都有相同的 id 2 我对它们进行了膨胀并将它们转换为视图 3 R id类中只有一个int将为这两个按钮创建 android 如何区分这些具有相
  • opengl 覆盖在相机视图上

    我仍然没有找到在相机预览顶部显示 opengl 叠加层的正确方法 有一个 hack 你可以调用 setContentView GLSurfaceView addContentView MyCameraSurfaceView 但它无法正常工作
  • .NET 中的 Class.forName() 等效项?

    动态获取对象类型然后创建它的新实例的 C 方法是什么 例如 如何在 C 中实现以下 Java 代码的结果 MyClass x MyClass Class forName classes MyChildClass newInstance Lo
  • 有没有办法使用 SauceLabs 的 RemoteWebDriver 禁用 CORS 检查

    问题说明了一切 我正在尝试在 SauceLabs 上执行一些硒测试 该测试加载一个发出跨域请求的网页 我在想是否有一种方法可以通过代码以独立于平台的方式禁用 CORS 使用时Chrome驱动程序 Chrome组合禁用cors questio
  • android 中的 lang.NumberFormatException

    我有以下代码 除了在后台线程中从数据库读取一些值并使用这些值之外什么也不做 我使用 jar 绘制折线图 对于我用于每个数组值的折线图 问题是第三个我传递给绘制 LineChart 的构造函数的参数是 float float viteza S
  • 如何构建 APK 和应用程序动态加载的单独库

    简短的总结是 如何构建 APK 和单独的库 我指的是某种形式的类集 理想情况下也是资源 例如 JAR AAR 或 DEX 文件 但不将这些库包含在应用程序 相反 应用程序在运行时加载它们 Detail 所以我的主要问题是如何构建这样的应用程
  • Android - 将值从 sqlite 数据库加载到数组列表

    我是安卓新手 我有一个使用 SQLite DB 的应用程序 我需要将值从数据库推送到对象类型的数组列表 我使用的代码在这里给出 private ArrayList
  • android.media.Ringtone.play() 在播放 28 次后停止工作

    我有一个打开了几个小时的应用程序 并使用后台服务并附加了前台通知 每隔一段时间就会使用以下方式播放声音 try Ringtone r RingtoneManager getRingtone context uri r play catch
  • 如何指示 yum 安装特定版本的 OpenJDK

    我尝试安装openjdk in the redhat服务器 如何安装指定版本 我要安装的版本是 11 0 4 使用以下命令安装的版本是11 0 6 yum install java 11 openjdk devel 曾与 yum showd
  • 术语“可序列化”是什么意思? [复制]

    这个问题在这里已经有答案了 不太确定我读过的定义可序列化实际上做了什么 import java io Serializable import java text StringCharacterIterator import java uti
  • 如何为信号量中等待的线程提供优先级?

    我使用信号量来限制访问函数的线程数量 我希望接下来要唤醒的线程应该由我将给出的某个优先级选择 而不是默认信号量唤醒它们的方式 我们怎样才能做到这一点 这是实现 class MyMathUtil2 implements Runnable do
  • 找不到图标路径的 Cordova Android 版本

    打字时cordova build android在 DOS 框中 没有构建任何内容 但我看到一条错误消息 错误 源路径不存在 resources android icon drawable hdpi icon png 我已经更新了 Cord
  • Android API 8、10 ContactsContract.Data.HAS_PHONE_NUMBER 没有这样的列

    以下查询在我的设备上运行良好 API 15 它在我运行 API 8 或 API 10 的模拟器中不起作用 这是查询 Cursor contactsCur getContentResolver query ContactsContract D
  • 如何将数据从普通 Android 应用程序传递到 Google glass 应用程序,反之亦然?

    我不知道 GoogleGlass 只是搜索它 我已经检查了下面的链接 但我认为下面的链接已被弃用 我无法找到传递数据的方法 我已经搜索了 4 天以上 但无法找到传递数据的方法 想要为谷歌眼镜创建应用程序 https stackoverflo
  • 检查用户是否已经使用Auth.GoogleSignInApi登录?

    我发现为了登录用户 我必须使用以下代码 Intent signInIntent Auth GoogleSignInApi getSignInIntent mGoogleApiClient startActivityForResult sig
  • Java 中的下载管理器 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要通过 FTP HTTP 从 Java 获取几个大文件 几个演出 有现成的库 java 命令行工具
  • 如何将 Hibernate 5 安装到 Apache Karaf v4 中

    我已经安装了 Apache Karaf v4 03 并查询了 Hibernate 的可用功能列表 如下所示 不幸的是 我使用的是 Hibernate v5 hibernate 3 3 2 GA Uninstalled enterprise

随机推荐

  • 向 Pyspark 数据框中的时间戳列添加 1 小时

    In pyspark我有一个专栏叫test time 这是一个timestamp column 该列有如下记录 2017 03 12 03 19 51 0 2017 03 12 03 29 51 0 现在我想添加1 hour到记录中的tes
  • 在 RichTextBox 中设置光标

    我有一个带有 RichTextBox 的简单表单 在 Load 事件中 我向 RichTextBox 写入一些文本 现在我想将光标位置设置到该文本的末尾 以便我可以添加一些内容 我试过了Focus 但这不起作用 Try richTextBo
  • 比较批处理脚本中的两个数字

    如果这似乎是一个非常基本的问题 我很抱歉 但我无法比较两个文件大小 其中一个文件在批处理脚本中连续写入 它不会超出 if 语句 只是卡在那里 不做任何事情就出来了 START copy C Users Admin ping txt C Us
  • Silex + Doctrine2 ORM + 下拉菜单(实体类型)

    我有一个控制器 它呈现一个表单 该表单应该有一个下拉列表 其中标题映射到 client user 实体 下面是我在控制器中用于创建表单的代码 builder this gt get form factory em this gt get d
  • 在 R 中用数据点绘制四面体

    我现在有点痛苦 我正在寻找一种绘制成分数据的方法 https en wikipedia org wiki Compositional data 我有四个类别 因此数据必须可以用 3d 单纯形表示 因为一个类别始终是 1 减去其他类别的总和
  • 使用 LinkTo Predicate 的 TPL 数据流块

    我有一些块最终从 TransformBlock 变为基于 LinkTo 谓词的其他三个转换块之一 我正在使用 DataflowLinkOptions 来传播完成结果 问题是 当谓词满足并且该块启动时 我的管道的其余部分将继续 看起来管道应该
  • 在 Facebook 帖子中标记人物?

    如果您在 facebook com 上输入状态时按 则可以输入朋友的姓名并将其标记在您的 Facebook 状态中 使用 facebook connect 发布墙贴时如何标记朋友 目前无法像用户一样通过 API 来标记其他用户或页面 有趣的
  • SQL EXISTS 语句如何工作?

    我正在尝试学习 SQL 但很难理解 EXISTS 语句 我看到这句话关于 存在 但不明白 使用存在运算符 子查询可以返回零行 一行或多行 并且条件仅检查子查询是否返回任何行 如果您查看子查询的 select 子句 您会发现它由单个文字 1
  • 编辑清单以启用 availableToOtherTenants 后出现 Azure AD 错误

    我们正在尝试将 Web 应用程序和 Web API 部署到与我们的公司 Azure AD 帐户关联的新 Azure 订阅 但是 当我们尝试修改 Azure AD 清单以启用多租户标志 availableToOtherTenants 并在 W
  • 将经常使用的字段分配给局部变量是否更有效?

    我正在读source of java util HashMap并注意到它几乎总是分配table如果该值在方法中多次使用 则将字段转换为局部变量 既然这个类被记录为不是线程安全的并且该字段不是易失性的 那么这有什么意义呢 它会使代码更加高效吗
  • 使用 SDK 4.2 开发的 iPhone 应用程序,需要向后兼容 iOS 3.1.3 ..简单的方法吗?

    我已经使用 SDK 4 2 构建了一个 iPhone 应用程序 但我知道还想让它与 iOS 3 1 3 兼容 第一步是将部署目标设置为 3 1 3 它在 3 2 模拟器上运行良好 但应用程序有时会崩溃 因为我使用了一些早期 SDK 中不可用
  • 寻求R函数来融化5维数组,例如pivot_longer

    我有一个程序 它使用 reshape2 的熔化函数将具有命名和标记尺寸的 5 维数组熔化为长格式数据框 根据定义 该数据框只有二维 输入数组的每个维度对应于输出数据帧中的一列 并且还有一列保存存储在 5D 数组中的值 我知道 reshape
  • jQuery 菜单 - 基于 URL 的活动状态

    我只是想将活动状态改造为静态 html 菜单 菜单具有以下结构 div ul id MenuBar1 class MenuBarHorizontal gt li a href index htm Home a li li a href ab
  • 如何在 Google Chrome 版本 38 上禁用打印预览?

    我使用网络浏览器开发 POS 但是当我使用 onload window print 时出现打印预览 您需要按确定才能继续打印 其他来源建议在快捷方式上添加 disable print preview 这些似乎适用于旧版本 此扩展适用于什么版
  • 修复了页脚不显示最底部列表项的问题

    这是我的 XML 布局
  • 运行spring boot应用程序时proxyBeanMethods注释错误

    我正在尝试运行我的第一个 Spring Boot 应用程序 但面临一些问题 在我的应用程序文件中 这是我的代码 package com clog ServiceMgmt import java util List import org sp
  • 如何使用 kprobe 统计 Linux 内核中的 malloc 数量

    我想数一下mallocFedora 中使用 Kprobe 进行系统调用 我知道malloc不是系统调用 是在用户空间中实现的 但如果可能的话 我想用 kprobe 来计算 malloc 我必须为 Kprobe 提供的系统调用的名称是什么 例
  • openpyxl:将数据附加到第一个空列单元格

    背景 我有一个 Excel 工作簿 其中包含分布在各个工作表中的元数据 我需要从各个工作表中获取相关的数据列 并将它们合并到一个工作表中 使用以下代码 我已经能够创建一个新的工作表并向其中添加数据 Open workbook and ass
  • Eclipse 中的 Java Applet 窗口大小

    我试图将小程序窗口的大小设置为 500 x 500 但我无法实现这一点 这是我的代码 public void init Start Screen Color setBackground Color RED this setSize new
  • ORMLite:内部 DAO 对象为空

    我正在使用 ORMLite 尝试使用foreignCollectionKey 但出现以下错误 内部 DAO 对象为空 如果 LazyCollections 已被反序列化 则无法使用它们 我的对象名为 Zone public class Zo