将强制可写属性的initial修饰符设置为" true"。 有什么好处吗?

2020-08-16 01:44发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) Hybris Wiki表示,将...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


Hybris Wiki表示,将initial设置为'true'仅与write ='false'结合使用才有用。 我对此表示同意。
但是,如果我使用初始true和可选false并写入true有意义吗? 我之所以这样问是因为,我们从Hybris代码审查中获得了建议,建议您使用初始true和可选false来确保数据完整性。 我们的项目中有许多属性,可选的false和true。 当我使用此类属性添加初始true时,我没有发现任何行为变化。 我只想在这里确认一下,因为我可能遗漏了一些东西。

4条回答
路亽曱_Ryan
2020-08-16 02:34

嗨,

实际上,设置initial = true的主要目的是将只读属性配置为在初始项创建时可写。 在此范围内,只有在属性也设置为write = false的情况下,才必须设置initial = true。

但是initial = true还有其他一些副作用: 在hybris平台中创建项目时,平台将分两步创建该项目。 第一步是使用对数据库的INSERT命令创建该项目的非常基本的版本。 此插入命令仅包含必需的属性值(可选= false)或设置为initial = true。 第二步,平台通过执行UPDATE命令向数据库添加所有剩余的属性值。

因此,要通过避免运行第二条UPDATE命令来提高项目创建性能,可以将在项目创建时写入的所有属性定义为initial = true。 在这种情况下,所有属性都使用第一个/初始INSERT命令写入。...

...。当然,这也对数据完整性有影响:想象一下,第一个INSERT命令成功完成,但是随后的UPDATE命令导致SQL异常...在这种情况下,您将创建一个 数据不一致的项目。

一周热门 更多>