在Hybris中,jalo属性和dinamic属性有什么区别?

在Hybris中,jalo属性和dinamic属性有什么区别?,hybris,Hybris,与持久性类型设置为属性的属性在数据库中持久化不同,动态属性具有非持久性值 SAP Hybris Commerce允许一种称为jalo属性或仅jalo属性的非持久性属性 Jalo属性已弃用,并由动态属性替换 我仍然看到Hybris仍在使用这两种方法 那么,它们之间的区别是什么呢 每种方法的目的是什么 谢谢事实上,一半的答案在你的问题中,Jalo和Dynamic属性都用于为Hybris中的项目创建非持久化属性 但为什么我们需要非持久化属性呢 您可能知道,Hybris中的项类是使用ant命令生成的,因

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

SAP Hybris Commerce允许一种称为jalo属性或仅jalo属性的非持久性属性

Jalo属性已弃用,并由动态属性替换

我仍然看到Hybris仍在使用这两种方法

那么,它们之间的区别是什么呢

每种方法的目的是什么


谢谢

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

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

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

我给大家举个例子:

我们都同意不应将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属性现在已被弃用,并被dynamic属性取代,因此我们不应该再使用Jalo,而应该使用dynamic属性。

非常感谢。
//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;
    }
}