1

我刚刚将 Hybris 6.2 连接到 Oracle 11g Db。在 Sql 开发人员中,我可以看到所有的表,但是由于表的数量很大,很难找到东西。我找到了一个名为 CMSComponent 的表,但在其中找不到 CMSParagraphComponent,CMSImageComponent , MiniCartComponent 。它在其他表中吗?更重要的是,如果我创建一个新组件或任何现有组件,它们存储在数据库表中的什么位置?

请在理解 Hybris 数据库结构方面提供任何帮助!

4

3 回答 3

2

在 myextension-item.xml 文件中的部署元素上描述的项目表。如果您不描述表,则您的项目数据保存在基础项目表中。每个项目表都有用于保存项目类型的 TypePK 列。

<itemtype code="MyItem" extends="GenericItem">
    <description>My item description</description>
    <deployment table="MyItem" typecode="30001" />
    <attributes>
        <attribute type="java.lang.String" qualifier="key">
            <modifiers optional="false" initial="true" />
            <persistence type="property" />
        </attribute>
        <attribute type="java.lang.String" qualifier="value">
            <persistence type="property" />
        </attribute>
    </attributes>
</itemtype>

您可以在后台类型系统中查看项目表。

类型系统

于 2018-11-12T06:47:29.363 回答
1

我找到了一个名为 CMSComponent 的表,但在其中找不到 CMSParagraphComponent,CMSImageComponent , MiniCartComponent 。它在其他表中吗?

检查当前 ItemType 的所有实例的存储位置

转到 HMC/BackOffice > 系统 > 类型 > 搜索您的类型并从结果中选择它 > 转到extended选项卡 > 检查Table属性值

在此处输入图像描述


如果我创建一个新组件或任何现有组件,它们存储在数据库表中的什么位置?

<deployment table="tableName" typecode="20005" />

部署标签用于在声明 itemType 时定义数据库表。因此,如果您为自定义类型定义部署标签,那么所有实例都将存储在定义表中,否则它将存储在其父项类型中(使用扩展属性定义)。默认情况下,所有 itemType 都扩展 GenericItem,因此如果您不为 itemsType 声明扩展属性,它将存储在 genericitems 表中(为 GenericItem 声明)

记住

  • 必须为所有扩展 GenericItem 的项目定义部署表
  • 不得为扩展 GenericItem 以外的任何项目的任何项目定义部署表

有关更多详细示例,请参阅此 wiki


请在理解 Hybris 数据库结构方面提供任何帮助!

参考这篇文章,详细解释hybris数据库结构

于 2018-11-12T08:04:22.417 回答
1

使用灵活搜索。使用灵活搜索,您可以按名称搜索每个项目类型。转到 HAC / 控制台 / 灵活搜索。有示例查询和文档链接

于 2018-11-12T09:12:01.427 回答