【问题标题】:save entity with null reference使用空引用保存实体
【发布时间】:2013-04-15 06:37:33
【问题描述】:

我想知道例如我是否有像客户和客户地址这样的实体,并且地址是参考 在客户中,如果我找不到与实体键匹配的内容会发生什么,一些客户实例将需要使用地址 null 保存 提交中会发生什么,我会得到转储?

【问题讨论】:

    标签: java jpa eclipselink entitymanager


    【解决方案1】:

    这取决于您使用的技术以及您定义的数据库架构。 通常,对象图在关系数据库中表示为许多具有表示对象之间引用的外键的表。如果该字段(FK)可以为空,那么您可以保存没有地址的客户。否则将抛出约束违反异常。

    如果您需要更多信息,请发布您的一些代码并说明您使用的持久性技术是什么。

    【讨论】:

    • 我使用 entitymanager 来持久化所有对象,然后我在最后为所有对象执行 entitymanager.commit,并且我不确定如果 FG 为空,我的 POV 中的行为如何看待空引用将得到转储,但对于任何其他参考 1:1 或 1:n 如果某些关键对象没有参考,我将不会得到转储,如果我错了,请纠正我...谢谢!
    【解决方案2】:

    Imo,如果您的 db 允许在地址列中使用空值(并且不存在 FK 约束),它将保存空值。否则,它应该会失败。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-09
      • 2020-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-15
      相关资源
      最近更新 更多