Hybris IMPEX

简介: 1、Impex是基于java Model的一种面向对象的数据操作手段,因此写impex代码前需要理清java Model之间的依赖关系。   2、基本语法:mode type[modifier=value];attribute[modifier=value];attribute[modifier=value];attribute[modifier=value][;.
1、Impex是基于java Model的一种面向对象的数据操作手段,因此写impex代码前需要理清java Model之间的依赖关系。
 
2、基本语法:mode type[modifier=value];attribute[modifier=value];attribute[modifier=value];attribute[modifier=value][;...];attribute[modifier=value]
  • mode:提供四种操作insert、update、insert_update、remove等操作
Insert:在Hybris中创建一个item,Impex默认不检查是否存在相同属性的item
Update:在hybris中通过一个unique的属性,选择一个存在的item,将属性值设置到对应的值上
Insert_update:将insert和Update方式合并。
Remove:hybris会尝试寻找正确的item,如果一个item存在,它将被删除
 
  • type:定义处理的item类型,category,product,media等等
  • attribute:映射到对象的column属性
  • modifier 控制说明使用,来说明这个column的限制
alias 别名
allownull
cellDecorator
collection-delimiter
dateformat 时间格式化
default 默认值
forceWrite
ignoreKeyCase
ignorenull
key2value-delimiter 键值对
lang 定义语言,多语言。lang=en
map-delimiter
mode
numberformat
path-delimiter
pos
translator
unique 控制属性唯一。unque=true
virtual

 

3、Demo

insert User;uid[unique=true] Customer;sampleCustomer Employee;SampleEmployee
Customer 和 Employee是User的子类,以上表示增加两个对象
等价于
insert Customer;uid[unique=true] ;sampleCustomer
insert Employee;uid[unique=true] ;sampleEmployee
中间用空格隔开表示后面的依次为前面的赋值,不用空格隔开表示是对象的属性
 
----------------------------------------------------------------------------------------------------------------------------
insert product;code;unit(code);catalogVersion(catalog(id),version)
;testCode;pieces;clothescatalog:staged
catalogVersion(catalog(id),version)
id=clothescatalog,version=staged;
查询方式:先根据id=clothescatalog查出cataloglog对象,然后根据对象的pk和version等于staged查出catalogVersion对象的pk和version等于Staged查询出catalogVersion对象的PK
 
---------------------------------------------------------------------------------------------------------------------------
insert language;code;;active ;de;deutsch;true
;;表示跳过这一列,deutsch不会被增加
 
---------------------------------------------------------------------------------------------------------------------------
INSERT Product;code[unique=true];name[lang=en];name[lang=de]
;myProduct1;myProduct1's localized name;lokalisierter Name von myProduct1 
lang 来指定本地化,就是什么语言。
 
---------------------------------------------------------------------------------------------------------------------------
UPDATE Product;code[unique=true];name[lang=en]
;myProduct1;my product 1
这样修改是不会影响到其他语言的,只会影响到lang=en的
 
4、一对多关系插入
INSERT_UPDATE USER;uid[unique=true];userDescription
;1;1;
INSERT_UPDATE OUTLET;code[unique=true];name;outletDescription;product(uid[unique=true])
;12;12;12;1;
;2;2;2;1;
;3;3;3;1;
一对多的话,主要在多表中有一个字段来表示和一表关联,所以只要有一个一表的唯一键来确认对应到那条记录就可以了 product(uid[unique=true])
 
5、批量处理
REMOVE product[batchmode=true];name[unique=true,lang=zh]
;test
所有name等于test的产品全部删除

 

目录
相关文章
SAP S4HANA 实战LTMC - 打响了第一炮(一)
SAP S4HANA 实战LTMC - 打响了第一炮(一)
SAP S4HANA 实战LTMC - 打响了第一炮(一)
SAP S4HANA 实战LTMC - 打响了第一炮(三)
SAP S4HANA 实战LTMC - 打响了第一炮(三)
SAP S4HANA 实战LTMC - 打响了第一炮(三)
SAP S4HANA 实战LTMC - 打响了第一炮(二)
SAP S4HANA 实战LTMC - 打响了第一炮(二)
SAP S4HANA 实战LTMC - 打响了第一炮(二)
|
传感器 前端开发 搜索推荐
SAP Business One告诉你,黑科技企业是这样练成的
SAP Business One告诉你,黑科技企业是这样练成的
159 0
SAP Business One告诉你,黑科技企业是这样练成的
|
新零售 Java 测试技术
Hybris安装和各个Extention简单介绍
前言:突然想好好梳理一下这几个月所学的内容了,顺便让自己的知识有一个系统的框架。这种安装仅仅适用于开发环境,不适于生产环境。 一、  安装JDK 请安装最新的Oracle JDK 8.0版(从Oracle官网下载)。
1914 0
|
监控
SAP S/4HANA现金管理之变
SAP S/4HANA现金管理之变   http://mp.weixin.qq.com/s/42zD6Hh1k5mV-73zRMh8ZA   SAP S/4 HANA的现金管理包括现金头寸,流动性管理和银行账户管理。
1551 0