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

将Id为空的实体视为新的

胡桐
2023-03-14

“对于实体,Id属性不能为null,因此需要将该类映射为ValueObject。如果是这样,Id属性将被视为常规属性,而不转到该对象的GlobalId。”

我的问题是:

如果Id为NULL,为什么不能将实体视为新的?

    null

共有1个答案

赵明亮
2023-03-14

当对象完全初始化时,您应该比较/提交对象,因此当它们有ID时也应该比较/提交对象。

没有Id的实体不能由JaVers处理,原因有几个:

  • 无法与其他实体/版本相比较(diff算法基于GlobalIds)
  • 无法从JaVersRepository中查询它(查询使用GlobalIds)
    null
 类似资料:
  • 问题内容: 我使用google-gson将Java映射序列化为JSON字符串。它提供了一个生成器来处理null值: 问题在于结果是字符串,如: 所需的结果是: 我可以为和进行字符串替换,但这很难看并且容易出错。是否有本地gson支持添加自定义String而不是? 问题答案: 如果这是您的应用程序类型,则可以注册类型适配器。但是Gson不允许您更改字符串或原始类型的序列化形式。 最好的选择是更改Ja

  • 我有2个类似于以下内容的JPA实体: 我正在使用spring-data-jpa生成我的DAO层。虽然不是很有趣,但它是这样的:

  • 我在Eclipse(Kepler)中使用JPA,虽然类中没有任何变化,但我的实体bean偶尔会显示错误。 突然,注释突出显示为错误,相关的错误消息为: 实体“com.test.domain.result”的给定名称为空。 如果我特别添加了name属性(即,那么该行的“someName”部分将突出显示为错误。 好吧,我可以在项目属性中找到一个工具,专门将此错误设置为警告(或忽略!)(Project

  • 我有一个我觉得很神秘的问题。我在Google和StackOverflow上搜索过,没有发现任何人有类似的问题。我尝试将持久化提供程序切换到Hibernate,但我们的代码过于依赖EclipseLink特性,因此无法将其作为调试的实际选项。如果这个问题仍然存在(哈,哈;Java EE双关语),我很可能会为Hibernate重写所有持久性代码,如果可能的话。 我的一个实体被正确持久化到数据库,并且它的

  • 我试图从一个用户获取推文列表,并从实体中检索媒体网址。当我查看twitter网站上的json时,它在记录的实体中有一个媒体对象,但是当我使用应用编程接口时,媒体不见了。

  • 在一个双向关系中,我不能将子外键与父外键相关联。我有一个父类联盟是这样定义的: 子类ServiceCharge是这样定义的: 然后运行测试代码: 正如您所看到的,在将Union u持久化到数据库之后,我将这两个实体与一个控制器相关联,ServiceController.Add只是通过使用Union setter将实体charge1添加到servicecharges列表中,然后将该实体持久化到数据库