问题"与实体ID保存差异"我找到了以下答案:
"对于Entities,Id属性不能为null,因此您需要将此类映射为ValueObject。如果是这样, Id属性被视为常规属性,它不会转到此对象的GlobalId。"
我的问题是:
如果Id为NULL,为什么不能将实体视为NEW?
我有一个从数据库中提取的对象图,在两个javers提交之间,一个实体被添加到图中的列表中。
我可以通过执行EntityManager来实现这一点 - 持久化(创建Id:s),但我想避免这样做。现在的代码可以稍后保留,或者只是让事务完成。
因为Id为NULL,所以实体为NEW。是否可以生成unigue temp Id(允许Id = NULL)以创建GlobalId? 在更改列表中,实体将报告为NEW。无需与之前的提交进行比较。
答案 0 :(得分:0)
当你的对象完全初始化时,你应该比较/提交你的对象,所以当它们有ID时。
没有Id的实体无法由JaVers处理,原因如下:
如果您正在使用Hibernate,请在Hibernate从序列中分配ID后比较/提交新对象。
另一种选择: