当前位置: 首页 > 知识库问答 >
问题:

不接受嵌入对象的NULL值

拓拔阎宝
2023-03-14

我试图使用Spring Data JDBC持久化一个包含嵌入式对象的对象。它不会被保存,因为它没有通过NULL检查。

我创建了一个外部类来持久化。

data class Outer(
    @Id 
    val id: Long,

    val value: String,

    @Embedded 
    inner: Inner? = null
)
data class Inner(
    val innerValue1: String,
    val innerValue2: String
)
val outer = Outer(15, "value")

repo.save(outer) //throws an exception
Caused by: java.lang.IllegalArgumentException: Target bean must not be null!
    at org.springframework.util.Assert.notNull(Assert.java:198)
    at org.springframework.data.mapping.model.BasicPersistentEntity.verifyBeanType(BasicPersistentEntity.java:550)
    at org.springframework.data.mapping.model.BasicPersistentEntity.getPropertyAccessor(BasicPersistentEntity.java:453)

有什么方法可以保存一个空的/空的嵌入对象吗?

共有1个答案

陈季
2023-03-14

此问题记录在DATAJDBC-364中,并针对1.1M4里程碑进行了修复。请注意,这与DATAJDBC-374有关,这将使它可以配置如何加载这些嵌入式实体。

 类似资料:
  • 我知道在原始数据类型的情况下自动类型提升的概念。但在参考数据类型的情况下,我有下面的代码可以完美地工作。 这给出了输出Array。 但是如果代替Object o,如果我们有任何其他类,那么这将显示编译时错误该方法对于Test4类型是模糊的 下面的代码给出编译时错误 正如我所知,每个引用数据类型(类、接口和数组)的默认值都是null。 那么为什么上面的代码在对象o的情况下工作呢。 提前谢谢

  • 实际上,我试图在我的代码中实现如此基本的东西。我有一个json文件。然后我想读取这个json文件并将其转换为Java对象。为了处理它,我使用了gson,但不知何故,它为嵌套对象返回null。 JSON: TestJSON: 最后,我尝试从json文件中读取它: 但是最后,当我试图到达时,它给出了null。有什么建议吗?

  • 在网页中嵌入对象,实际上并不会在网页中插入对象,而是通过某种标签链接到指定的对象,标签创建的只是被引用对象的占位符而已。 嵌入式对象主要包括图片、视频、音频、文档等,不同的对象使用不同的标签,并具有不同的样式,本节重点介绍如何控制不同对象的样式,而标签的使用方法不是本节的重点。 图片 使用 img 元素,可以在网页中嵌入一幅图片,并通过CSS的width 和height 属性来定义图片的宽度和高度

  • 问题内容: 我想知道是否有可能在另一个Embeddable中包含Embeddable的ElementCollection? 这是我的供应商实体的示例,该实体具有可嵌入类型的地址列表: 这是我的可嵌入地址,其中包含可嵌入电话的列表 这是嵌入式电话的定义 我目前正在使用JPA 2 + Hibernate 3.6.x对此进行测试 在地址中使用嵌入式电话在我的测试中导致错误。这是最底层的部分调试消息: 删

  • 所以我做了一个测试窗口,里面有一个JTextField。我不知道出了什么问题。下面是主要代码。问题是,无论我做什么,我都无法编辑文本字段,也无法编辑我创建的第二个文本字段。我有一个带有文本字段的示例程序,它也可以工作,但根本不工作。 我不确定是否需要发布它,但我可以在这里获得完整程序的示例罐。我只发布了处理文本字段的区域 编辑:完整的源代码可在此处获得:GITHUB 我移除了一些东西,它成功了,我