当前位置: 首页 > 面试题库 >

Hibernate将NULL值粘贴到列表中

唐弘益
2023-03-14
问题内容

我继承了一些使用Hibernate的Java代码。现在,使用此代码的一些人报告他们到处都在获取NullPointerExceptions。

我已经找到了答案,发现执行查询从数据库中拉出一个对象列表时,该查询具有一个对象列表(从另一个表中拉出),Hibernate似乎在列表(NULL值)。因此,列表可能类似于:

Object
Object
NULL
Object

我们用于从数据库中提取信息的代码是:

List<PrinterGroup> groups = 
    this.getSession().createQuery( "from PrinterGroup" ).list();

然后,在每个PrinterGroup内是其中包含NULL值的过滤器列表。

虽然我可以四处寻找所有实例,但我们遍历了此列表并添加了NULL检查,但我认为这是一个临时的解决方案,并且必须有一种方法告诉Hibernate不要拉入null值。

编辑:

  • 我们正在使用Hibernate 3.2.2

编辑2:

因此数据库似乎令人困惑。PrinterGroup->
Filter关系是一对多关系。因此PrinterGroups有一个过滤器列表。问题在于,当过滤器列表从数据库中出来时,其中的列表中包含空值(顺便说一下,数据库中没有空值),并且列表看起来像上面一样。

编辑3:

这是PrinterGroup HBM中的映射相关的野餐

<subclass name="PrinterGroup" discriminator-value="PG">
   <list name="filters"
              lazy="true"
              table="PG_FILTER"
               inverse="false"
                cascade="all-delete-orphan">

        <key>
           <column name="PG_ID" not-null="false"/>
        </key>
        <index column="LISTPOSITION"/>
        <one-to-many class="Filter"/>
     </list>

过滤器是一个非常基本的POJO映射。


问题答案:

此集合是否与<list>(或其他索引集合)<list- index>映射?

除具有set和bag语义的映射外,所有集合映射都需要在集合表中有一个索引列。索引列是映射到数组索引,列表索引或Map键的列。…数组或列表的索引始终为整数类型,并使用元素进行映射。映射的列包含默认情况下从零开始编号的连续整数。

我可以想象使用,当索引的集合,如果你的索引列中有间隙(即,它具有类似的值0137),Hibernate对将填充造成List与预期的地方空元素。



 类似资料:
  • 问题内容: 有没有一种方法可以使用JavaScript禁用将文本粘贴到HTML表单上的文本字段的功能? 例如,我有一个简单的注册表格,要求用户输入两次电子邮件。第二个电子邮件条目是为了验证第一个电子邮件条目中没有错别字。但是,如果用户复制/粘贴他们的电子邮件,那么这将无法达到目的,并且我一直在遇到用户的问题,因为他们输入了错误的电子邮件并复制/粘贴了它。 也许我不清楚我的问题,但我并不想阻止人们在

  • 我有几个Excel图表,我想用Python导出为图像。每个图表都在一个单独的Excel文件中,只有一张工作表。此脚本适用于几乎所有我的图表: 我有一个图表,但是不能导出...我得到这个错误后导出函数: 图表被复制到临时工作表,但导出失败。在一些为导出此图表而编写的旧Excel-VBA代码中,我看到这一行: Python的等价物是什么?这: 不工作(属性错误:对象没有属性'Paste特殊') 编辑-

  • 我已经使用这个网站一段时间了,通常研究我所有的问题,但这一个已经让我难倒了几天。 我有一个Excel工作簿的工作表,将允许用户输入特定的数据,一旦宏被使用,将创建一个Word文档的格式专门为每个宏。

  • 我最近开始在GoogleSheets中做一些工作,以前我可以在Excel中编写函数,但我无法在GoogleSheets脚本中实现这一点。 我有两张床单 第1页。单元格A1-E5包含基于某些选择标准表2的值。登记表 我需要的是在执行脚本时(通过绘图和链接宏) 我需要它来复制A1:E1范围 进入第2页,转到A列的第一个空白单元格,然后粘贴值。 我正在使用下面的脚本,并且 目标范围的坐标超出工作表的尺寸

  • 问题内容: 过程/输出的示例为: 文件1: 文件2: 串联后的结果文件: 文件3: 对于大量非预期文本(无通配符-但行如上所述对齐)。 我无法弄清楚如何在Ubuntu下使用粘贴命令来做到这一点。 问题答案: