gpt4 book ai didi

sap-commerce-cloud - Hybris 中的 jalo 属性和动态属性有什么区别?

转载 作者:行者123 更新时间:2023-12-04 16:30:28 25 4
gpt4 key购买 nike

与持久性类型设置为在数据库中持久化的属性的属性相比,动态属性具有非持久性值

SAP Hybris Commerce 允许使用一种称为 jalo 属性或 jalo-only 属性的非持久属性。

Jalo 属性已弃用并由动态属性取代。

我仍然看到 Hybris 仍在使用两者。

那么,两者有什么区别呢?

每个的目的是什么?

谢谢

最佳答案

实际上一半的答案在您的问题中,JaloDynamic 属性都用于为 Hybris 中的项目创建非持久属性。

但是为什么我们需要非持久化属性呢?

您可能知道 Hybris 中的 Items 类是使用 ant 命令生成的,因此无法手动将 业务逻辑 添加到项目中(因为每次我运行 ant 命令都会生成一个新项目,我的逻辑也会被删除)

我会给你一个例子:

//generated item
class PersonModel {
//persisted attributes
String firstname;
String lastName;

//non-persisted attribute = calculated attribute
String getFullName() {
return firstname + " " + lastname;
}
}

我们都同意 fullName 不应该被持久化在数据库中,所以我们假设 getFullName 是手动添加的,然后正如我之前解释的那样,如果我们运行 ant clean all命令 PersonModel 将再次重新生成,getFullName() 也将被删除。

所以这就是 Jalo 属性创建的目的,实际上 Jalo 项目只生成一次并且永远不会被删除(可以手动删除)所以我们可以在 Jalo 项目中添加所有计算的属性而不必担心被删除。

//generated item is going to 
//be re-generated after each ant clean all
class PersonModel {
//persisted attributes
String firstname;
String lastName;
}

//Jalo item will be generated once
//and will never be removed after that
class PersonJalo {

//non-persisted attribute = calculated attribute
String getFullName() {
return firstname + " " + lastname;
}
}

Jalo 属性现在已弃用,取而代之的是动态属性,所以我们不应该再使用 jalo 并改用动态属性了。

关于sap-commerce-cloud - Hybris 中的 jalo 属性和动态属性有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47467227/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com