# com.eos.foundation.database.CriteriaUtil
# 构件包说明
本工具类实现了对查询条件实体(CriteriaEntity)的操作。CriteriaEntity是满足特定schema约束的SDO对象,用于表示对一个实体的查询定义。
更多关于CriteriaEntity的信息和示例请参见《EOS基础参考手册》中的"数据服务\CriteriaEntity"及其"示例"。
# 运算逻辑构件使用说明
该构件包包含以下构件:
序号 | 方法 | 功能描述 |
---|---|---|
1 | appendExpr(DataObject criteria, String path, String... exprValue) | 给查询实体增加一个查询条件 |
2 | appendSelectField(String type, DataObject criteria, String... fields) | 增加查询条件实体中的查询字段 |
3 | removeAllSelectField(String type, DataObject criteria) | 删除查询条件实体中所有查询字段 |
4 | removeExpr(DataObject criteria, String path, boolean removeAll, String... fields) | 删除查询条件实体中对某个字段的查询条件 |
5 | removeSelectField(String type, DataObject criteria, String... fields) | 删除查询条件实体中的查询字段 |
6 | setSelectField(String type, DataObject criteria, String... fields) | 设置查询条件实体中的查询字段,会将原来已经设置的所有字段删除掉 |
7 | translateCriteriaEntity2Criteria(String dsName, DataObject criteriaEntity) | 将查询条件实体转换为IDASCriteria |
8 | translateTemplate2Criteria(String dsName, DataObject template) | 将SDO数据查询模板转换为hibernate criteria |
9 | translateTemplate2CriteriaEntity(DataObject template) | 将SDO数据查询模板转换为查询条件实体查询条件 |
# appendExpr:给查询条件实体增加一个查询条件
# 【功能说明】
给查询条件实体增加一个查询条件。
在创建一个查询条件实体后,需要为查询条件实体增加一个查询表达式,有如下一个criteria entity:
<criteria>
<_expr>
<id>1</id>
</_expr>
<_or>
<_expr>
<id>2</id>
</_expr>
</_or>
</criteria>
- 如果需要给上面查询条件实体增加查询条件,增加在第一层的_expr上,参数如下:
path null | "" | "_expr"
exprValue String[] {"name", "tom", "_op", "like"}
- 如果给查询条件实体的_or条件中增加条件,参数如下:
path "_or" | "_or/" | "_or/_expr"
exprValue String[] {"name", "tom", "_op", "like"}
# 【版本说明】
从EOS 6.0开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.eos.foundation.database.CriteriaUtil.appendExpr,包含在com.eos.foundation.jar中。
- 运算逻辑定义在构件包com.eos.foundation中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | criteria | DataObject | 查询条件实体查询条件 |
参数 | path | String | 查询表达式所在路径 |
参数 | exprValue | String... | 字符串变参,查询条件值(必须成对设置) |
抛出异常说明 无。
规则说明 关于查询条件实体的说明请参考《EOS基础参考手册》中的"数据服务\CriteriaEntity"。
# 【参考案例】
示例:为CUST表的查询实体增加一个查询条件。
场景描述 用户在查询CUST表时,需要在后台为查询实体增加一个查询条件。该场景下可以使用appendExpr来实现添加隐藏查询条件。
参数设置
类型 | 名称 | 数据类型 | 值 | 值类别 | 传递方式 |
---|---|---|---|---|---|
参数 | criteria | DataObject | criteria | 变量 | 传引用 |
参数 | path | String | _expr | 常量 | 传引用 |
参数 | exprValue | String | _op | 常量 | 传引用 |
参数 | param1 | String | = | 常量 | 传引用 |
参数 | param2 | String | BIRTH | 常量 | 传引用 |
参数 | param3 | String | 2009-09-09 | 常量 | 传引用 |
参数 | param4 | String | _pattern | 常量 | 传引用 |
参数 | param5 | String | yyyy-MM-dd | 常量 | 传引用 |
参数描述
- 第一个参数为查询条件实体,criteria为CUST表的查询条件实体
- 第二个参数为表达式所在路径,_expr 为criteria实体中一个属性名
- 第三个参数为表达式的操作符,_op为_expr 的属性名
- 第四个参数为op的赋值=
- 第五个参数为BIRTH为CUST的属性名
- 第六个参数为BIRTH的赋值
- 第六个参数为_pattern,用于描述日期的格式
- 第六个参数为yyyy-MM-dd,表明按那种格式把字符串'2009-09-09'转换成java.util.Date类型
其他说明
无。
调用前的bizContext
<bizContext>
<__root __id="0" __type="java:java.util.HashMap">
<criteria __id="1" __type="sdo:com.primeton.das.criteria.criteriaType">
<_entity __type="java:java.lang.String">com.primeton.eos.foundation.example.data.CUST</_entity>
<_select/>
<_expr __collection="list"/>
<_and __collection="list"/>
<_or __collection="list"/>
<_not __collection="list"/>
<_order __collection="list"/>
<_orderby __collection="list"/>
<_group/>
<_distinct/>
<_association __collection="list"/>
<_ref __collection="list"/>
<_lock/>
</criteria>
</__root>
</bizContext>
- 等效的SQL语句
select * from CUST where CUSTID = '1' and CUSTNAME = '1' and CUSTCODE = '1';
- 调用后的bizContext
<bizContext>
<__root __id="0" __type="java:java.util.HashMap">
<criteria __id="1" __type="sdo:com.primeton.das.criteria.criteriaType">
<_entity __type="java:java.lang.String">com.primeton.eos.foundation.example.data.CUST</_entity>
<_select/>
<_expr __id="2" __type="java:com.primeton.ext.data.sdo.collection.ContainerAwareList">
<__entry __id="3" __index="0" __type="sdo:com.primeton.das.criteria.exprType">
<_op __type="java:java.lang.String">=</_op>
<_min/>
<_max/>
<_likeRule/>
<_dateRule/>
<_pattern __type="java:java.lang.String">yyyy-MM-dd</_pattern>
<_year/>
<_quarter/>
<_month/>
<_opProperty/>
<_ref/>
<_processNullValue/>
<BIRTH __type="java:java.lang.String">2009-09-09</BIRTH>
</__entry>
</_expr>
<_and __collection="list"/>
<_or __collection="list"/>
<_not __collection="list"/>
<_order __collection="list"/>
<_orderby __collection="list"/>
<_group/>
<_distinct/>
<_association __collection="list"/>
<_ref __collection="list"/>
<_lock/>
</criteria>
</__root>
</bizContext>
# appendSelectField:增加查询条件实体中的查询字段
# 【功能说明】
增加查询条件实体中的查询字段。
# 【版本说明】
从EOS 6.0开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.eos.foundation.database.CriteriaUtil.appendSelectField,包含在com.eos.foundation.jar中。
- 运算逻辑定义在构件包com.eos.foundation中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | type | String | 查询select的字段操作类型: |
参数 | criteria | DataObject | 查询条件实体查询条件 |
参数 | fields | String... | 需要查询的实体的字段名 |
抛出异常说明 无。
规则说明 关于查询条件实体的说明请参考《EOS基础参考手册》中的"数据服务\CriteriaEntity"。
# 【参考案例】
示例:为CUST表的查询实体增加一个查询字段。
场景描述 无。
参数设置
类型 | 名称 | 数据类型 | 值 | 值类别 | 传递方式 |
---|---|---|---|---|---|
参数 | type | String | select | 常量 | 传引用 |
参数 | criteria | DataObject | criteria | 变量 | 传引用 |
参数 | fields | String | CUSTID | 常量 | 传引用 |
参数描述
- 第一个参数为查询select的字段操作类型,select表示需要增加_select查询字段;
- 第二个参数criteria为该构件操作的查询实体;
- 第三个单数为需要查询的实体的字段名,表示将_select下增加一个查询字段CUSTID。
其他说明
无。
调用前的bizContext
<bizContext>
<__root __id="0" __type="java:java.util.HashMap">
<criteria __id="1" __type="sdo:com.primeton.das.criteria.criteriaType">
<_entity __type="java:java.lang.String">com.primeton.eos.foundation.example.data.CUST</_entity>
<_select __id="2" __type="sdo:com.primeton.das.criteria.selectType">
<_field __id="3" __type="java:com.primeton.ext.data.sdo.collection.ContainerAwareList">
<__entry __index="0" __type="java:java.lang.String">CUSTNAME</__entry>
</_field>
<_count __collection="list"/>
<_avg __collection="list"/>
<_sum __collection="list"/>
<_min __collection="list"/>
<_max __collection="list"/>
</_select>
<_expr __collection="list"/>
<_and __collection="list"/>
<_or __collection="list"/>
<_not __collection="list"/>
<_order __collection="list"/>
<_orderby __collection="list"/>
<_group/>
<_distinct/>
<_association __collection="list"/>
<_ref __collection="list"/>
<_lock/>
</criteria>
</__root>
</bizContext>
- 调用后的bizContext
<bizContext>
<__root __id="0" __type="java:java.util.HashMap">
<criteria __id="1" __type="sdo:com.primeton.das.criteria.criteriaType">
<_entity __type="java:java.lang.String">com.primeton.eos.foundation.example.data.CUST</_entity>
<_select __id="2" __type="sdo:com.primeton.das.criteria.selectType">
<_field __id="3" __type="java:com.primeton.ext.data.sdo.collection.ContainerAwareList">
<__entry __index="0" __type="java:java.lang.String">CUSTNAME</__entry>
<__entry __index="1" __type="java:java.lang.String">CUSTID</__entry>
</_field>
<_count __collection="list"/>
<_avg __collection="list"/>
<_sum __collection="list"/>
<_min __collection="list"/>
<_max __collection="list"/>
</_select>
<_expr __collection="list"/>
<_and __collection="list"/>
<_or __collection="list"/>
<_not __collection="list"/>
<_order __collection="list"/>
<_orderby __collection="list"/>
<_group/>
<_distinct/>
<_association __collection="list"/>
<_ref __collection="list"/>
<_lock/>
</criteria>
</__root>
</bizContext>
# removeAllSelectField:删除查询条件实体中所有查询字段
# 【功能说明】
删除查询条件实体中所有查询字段。
# 【版本说明】
从EOS 6.0开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.eos.foundation.database.CriteriaUtil.removeAllSelectField,包含在com.eos.foundation.jar中。
- 运算逻辑定义在构件包com.eos.foundation中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | type | String | 查询select的字段操作类型: |
参数 | criteria | DataObject | 查询条件实体查询条件 |
抛出异常说明 无。
规则说明 关于查询条件实体的说明请参考《EOS基础参考手册》中的"数据服务\CriteriaEntity"。
# 【参考案例】
示例:删除CUST表的查询实体中的所有查询字段。
场景描述 无。
参数设置
类型 | 名称 | 数据类型 | 值 | 值类别 | 传递方式 |
---|---|---|---|---|---|
参数 | type | String | select | 常量 | 传引用 |
参数 | criteria | DataObject | criteria | 变量 | 传引用 |
参数描述
- 第一个参数为查询select的字段操作类型,select表示需要删除_select中的查询字段;
- 第二个参数criteria表示该构件操作的查询实体。
其他说明
无。
调用前的bizContext
<bizContext>
<__root __id="0" __type="java:java.util.HashMap">
<criteria __id="1" __type="sdo:com.primeton.das.criteria.criteriaType">
<_entity __type="java:java.lang.String">com.primeton.eos.foundation.example.data.CUST</_entity>
<_select __id="2" __type="sdo:com.primeton.das.criteria.selectType">
<_field __id="3" __type="java:com.primeton.ext.data.sdo.collection.ContainerAwareList">
<__entry __index="0" __type="java:java.lang.String">CUSTNAME</__entry>
<__entry __index="1" __type="java:java.lang.String">CUSTID</__entry>
</_field>
<_count __collection="list"/>
<_avg __collection="list"/>
<_sum __collection="list"/>
<_min __collection="list"/>
<_max __collection="list"/>
</_select>
<_expr __collection="list"/>
<_and __collection="list"/>
<_or __collection="list"/>
<_not __collection="list"/>
<_order __collection="list"/>
<_orderby __collection="list"/>
<_group/>
<_distinct/>
<_association __collection="list"/>
<_ref __collection="list"/>
<_lock/>
</criteria>
</__root>
</bizContext>
- 调用后的bizContext
<bizContext>
<__root __id="0" __type="java:java.util.HashMap">
<criteria __id="1" __type="sdo:com.primeton.das.criteria.criteriaType">
<_entity __type="java:java.lang.String">com.primeton.eos.foundation.example.data.CUST</_entity>
<_select __id="2" __type="sdo:com.primeton.das.criteria.selectType">
<_field __collection="list"/>
<_count __collection="list"/>
<_avg __collection="list"/>
<_sum __collection="list"/>
<_min __collection="list"/>
<_max __collection="list"/>
</_select>
<_expr __collection="list"/>
<_and __collection="list"/>
<_or __collection="list"/>
<_not __collection="list"/>
<_order __collection="list"/>
<_orderby __collection="list"/>
<_group/>
<_distinct/>
<_association __collection="list"/>
<_ref __collection="list"/>
<_lock/>
</criteria>
</__root>
</bizContext>
# removeExpr:删除查询条件实体中对某个字段的查询条件
# 【功能说明】
删除查询条件实体中对某个字段的查询条件。
注意:如果需要删除第一层中的查询条件,参数如下:
path null指针 | "" | "_expr"
如果需要删除第二层中的查询条件,参数如下(多层方式以此类推):
path "_or" | "_or/" | "_or/_expr"
# 【版本说明】
从EOS 6.0开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.eos.foundation.database.CriteriaUtil.removeExpr,包含在com.eos.foundation.jar中。
- 运算逻辑定义在构件包com.eos.foundation中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | criteria | DataObject | 查询条件实体查询条件 |
参数 | path | String | 查询表达式所在路径 |
参数 | removeAll | boolean | 是否删除满足每个条件的所有_expr(false 只删除满足查询条件fileds中每个filed的第一个_expr) |
参数 | fields | String... | 字符串变参,多个查询条件的字段名 |
- 抛出异常说明 无。
- 规则说明 关于查询条件实体的说明请参考《EOS基础参考手册》中的"数据服务\CriteriaEntity"。
# 【参考案例】
示例:根据业务逻辑需要删除查询条件实体CUST的CUSTID查询条件。
场景描述 用户在实现一个查询算法时,根据查询实体的查询条件不能得到记录,接着去掉一个查询条件,继续查询。
参数设置
类型 | 名称 | 数据类型 | 值 | 值类别 | 传递方式 |
---|---|---|---|---|---|
参数 | criteria | DataObject | criteria | 变量 | 传引用 |
参数 | path | String | _expr | 常量 | 传引用 |
参数 | removeAll | bloolean | false | 常量 | 传引用 |
参数 | fields | String | CUSTID | 常量 | 传引用 |
参数描述
第一个参数为查询条件实体,criteria为CUST表的查询实体;
第二个参数为表达式所在路径,_expr 为criteria实体中一个属性名;
第三个参数为是否删除列出的所有字段条件;
第四个参数为CUSTID为字段名。
说明
如果criteria中有2个_expr都是对CUSTID设置查询条件,当removeAll为false时,只删除第一个CUSTID查询条件;removeAll为true,将删除全部的CUSTID查询条件。
其他说明
无。
调用前的bizContext
<bizContext>
<__root __id="0" __type="java:java.util.HashMap">
<criteria __id="1" __type="sdo:com.primeton.das.criteria.criteriaType">
<_entity __type="java:java.lang.String">com.primeton.eos.foundation.example.data.CUST</_entity>
<_select/>
<_expr __id="2" __type="java:com.primeton.ext.data.sdo.collection.ContainerAwareList">
<__entry __id="3" __index="0" __type="sdo:com.primeton.das.criteria.exprType">
<_op/>
<_min/>
<_max/>
<_likeRule/>
<_dateRule/>
<_pattern/>
<_year/>
<_quarter/>
<_month/>
<_opProperty/>
<_ref/>
<_processNullValue/>
<CUSTID __type="java:java.lang.String">1</CUSTID>
</__entry>
<__entry __id="4" __index="1" __type="sdo:com.primeton.das.criteria.exprType">
<_op __type="java:java.lang.String">like</_op>
<_min/>
<_max/>
<_likeRule __type="java:java.lang.String">all</_likeRule>
<_dateRule/>
<_pattern/>
<_year/>
<_quarter/>
<_month/>
<_opProperty/>
<_ref/>
<_processNullValue/>
<CUSTNAME __type="java:java.lang.String">cust</CUSTNAME>
</__entry>
</_expr>
<_and __collection="list"/>
<_or __collection="list"/>
<_not __collection="list"/>
<_order __collection="list"/>
<_orderby __collection="list"/>
<_group/>
<_distinct/>
<_association __collection="list"/>
<_ref __collection="list"/>
<_lock/>
</criteria>
</__root>
</bizContext>
- 调用后的bizContext
<bizContext>
<__root __id="0" __type="java:java.util.HashMap">
<criteria __id="1" __type="sdo:com.primeton.das.criteria.criteriaType">
<_entity __type="java:java.lang.String">com.primeton.eos.foundation.example.data.CUST</_entity>
<_select/>
<_expr __id="2" __type="java:com.primeton.ext.data.sdo.collection.ContainerAwareList">
<__entry __id="3" __index="0" __type="sdo:com.primeton.das.criteria.exprType">
<_op __type="java:java.lang.String">like</_op>
<_min/>
<_max/>
<_likeRule __type="java:java.lang.String">all</_likeRule>
<_dateRule/>
<_pattern/>
<_year/>
<_quarter/>
<_month/>
<_opProperty/>
<_ref/>
<_processNullValue/>
<CUSTNAME __type="java:java.lang.String">cust</CUSTNAME>
</__entry>
</_expr>
<_and __collection="list"/>
<_or __collection="list"/>
<_not __collection="list"/>
<_order __collection="list"/>
<_orderby __collection="list"/>
<_group/>
<_distinct/>
<_association __collection="list"/>
<_ref __collection="list"/>
<_lock/>
</criteria>
</__root>
</bizContext>
# removeSelectField:删除查询条件实体中的查询字段
# 【功能说明】
删除查询条件实体中的查询字段。
# 【版本说明】
从EOS 6.0开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.eos.foundation.database.CriteriaUtil.removeSelectField,包含在com.eos.foundation.jar中。
- 运算逻辑定义在构件包com.eos.foundation中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | type | String | 查询select的字段操作类型: |
参数 | criteria | DataObject | 查询条件实体查询条件 |
参数 | fields | String... | 需要查询的实体的字段名 |
抛出异常说明 无。
规则说明 关于查询条件实体的说明请参考《EOS基础参考手册》中的"数据服务\CriteriaEntity"。
# 【参考案例】
示例:删除CUST表的查询实体中的CUSTNAME查询字段。
场景描述 无。
参数设置
类型 | 名称 | 数据类型 | 值 | 值类别 | 传递方式 |
---|---|---|---|---|---|
参数 | type | String | select | 常量 | 传引用 |
参数 | criteria | DataObject | criteria | 变量 | 传引用 |
参数 | fields | String | CUSTNAME | 常量 | 传引用 |
参数描述
- 第一个参数为查询select的字段操作类型,select表示需要删除_select中的查询字段;
- 第二个单数criteria为该构件操作的查询实体;
- 第三个参数为需要查询的实体的字段名,表示将_select原有的查询字段CUSTNMAE字段删除掉。
其他说明
无。
调用前的bizContext
<bizContext>
<__root __id="0" __type="java:java.util.HashMap">
<criteria __id="1" __type="sdo:com.primeton.das.criteria.criteriaType">
<_entity __type="java:java.lang.String">com.primeton.eos.foundation.example.data.CUST</_entity>
<_select __id="2" __type="sdo:com.primeton.das.criteria.selectType">
<_field __id="3" __type="java:com.primeton.ext.data.sdo.collection.ContainerAwareList">
<__entry __index="0" __type="java:java.lang.String">CUSTNAME</__entry>
<__entry __index="1" __type="java:java.lang.String">CUSTID</__entry>
</_field>
<_count __collection="list"/>
<_avg __collection="list"/>
<_sum __collection="list"/>
<_min __collection="list"/>
<_max __collection="list"/>
</_select>
<_expr __collection="list"/>
<_and __collection="list"/>
<_or __collection="list"/>
<_not __collection="list"/>
<_order __collection="list"/>
<_orderby __collection="list"/>
<_group/>
<_distinct/>
<_association __collection="list"/>
<_ref __collection="list"/>
<_lock/>
</criteria>
</__root>
</bizContext>
- 调用后的bizContext
<bizContext>
<__root __id="0" __type="java:java.util.HashMap">
<criteria __id="1" __type="sdo:com.primeton.das.criteria.criteriaType">
<_entity __type="java:java.lang.String">com.primeton.eos.foundation.example.data.CUST</_entity>
<_select __id="2" __type="sdo:com.primeton.das.criteria.selectType">
<_field __id="3" __type="java:com.primeton.ext.data.sdo.collection.ContainerAwareList">
<__entry __index="0" __type="java:java.lang.String">CUSTID</__entry>
</_field>
<_count __collection="list"/>
<_avg __collection="list"/>
<_sum __collection="list"/>
<_min __collection="list"/>
<_max __collection="list"/>
</_select>
<_expr __collection="list"/>
<_and __collection="list"/>
<_or __collection="list"/>
<_not __collection="list"/>
<_order __collection="list"/>
<_orderby __collection="list"/>
<_group/>
<_distinct/>
<_association __collection="list"/>
<_ref __collection="list"/>
<_lock/>
</criteria>
</__root>
</bizContext>
# translateCriteriaEntity2Criteria:将查询条件实体转换为IDASCriteria
# 【功能说明】
将查询条件实体转换为IDASCriteria。
# 【版本说明】
从EOS 6.0开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.eos.foundation.database.CriteriaUtil.translateCriteriaEntity2Criteria,包含在com.eos.foundation.jar中。
- 运算逻辑定义在构件包com.eos.foundation中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | dsName | String | 数据源名称 |
参数 | criteriaEntity | DataObject | 查询条件实体 |
返回值 | out0 | IDASCriteria | IDASCriteria查询条件 |
抛出异常说明 无。
规则说明 无。
# 【参考案例】
示例:将一个查询条件实体转换为IDASCriteria。
场景描述 无。
参数设置
类型 | 名称 | 数据类型 | 值 | 值类别 | 传递方式 |
---|---|---|---|---|---|
参数 | dsName | String | default | 常量 | 传引用 |
参数 | template | DataObject | template | 变量 | 传引用 |
返回值 | out0 | IDASCriteria | result | 变量 | 传引用 |
参数描述
- 第一个参数为数据源,更多的说明参见基本操作类DatabaseUtil中的注意
- 第二个参数为查询条件实体,criteriaEntity为表CUST的查询条件实体;
- 返回值为输出的IDASCriteria查询条件。
其他说明
无。
调用前的bizContext
<bizContext>
<__root __id="0" __type="java:java.util.HashMap">
<criteriaEntity __id="1" __type="sdo:com.primeton.das.criteria.criteriaType">
<_entity __type="java:java.lang.String">com.primeton.eos.foundation.example.data.CUST</_entity>
<_select/>
<_expr __id="2" __type="java:com.primeton.ext.data.sdo.collection.ContainerAwareList">
<__entry __id="3" __index="0" __type="sdo:com.primeton.das.criteria.exprType">
<_op/>
<_min/>
<_max/>
<_likeRule/>
<_dateRule/>
<_pattern/>
<_year/>
<_quarter/>
<_month/>
<_opProperty/>
<_ref/>
<_processNullValue/>
<CUSTID __type="java:java.lang.Integer">1</CUSTID>
</__entry>
<__entry __id="4" __index="1" __type="sdo:com.primeton.das.criteria.exprType">
<_op/>
<_min/>
<_max/>
<_likeRule/>
<_dateRule/>
<_pattern/>
<_year/>
<_quarter/>
<_month/>
<_opProperty/>
<_ref/>
<_processNullValue/>
<CUSTNAME __type="java:java.lang.String">cust_1</CUSTNAME>
</__entry>
</_expr>
<_and __collection="list"/>
<_or __collection="list"/>
<_not __collection="list"/>
<_order __collection="list"/>
<_orderby __collection="list"/>
<_group/>
<_distinct/>
<_association __collection="list"/>
<_ref __collection="list"/>
<_lock/>
</criteriaEntity>
</__root>
</bizContext>
- 调用后的bizContext
<bizContext>
<__root __id="0" __type="java:java.util.HashMap">
<criteriaEntity __id="1" __type="sdo:com.primeton.das.criteria.criteriaType">
<_entity __type="java:java.lang.String">com.primeton.eos.foundation.example.data.CUST</_entity>
<_select/>
<_expr __id="2" __type="java:com.primeton.ext.data.sdo.collection.ContainerAwareList">
<__entry __id="3" __index="0" __type="sdo:com.primeton.das.criteria.exprType">
<_op/>
<_min/>
<_max/>
<_likeRule/>
<_dateRule/>
<_pattern/>
<_year/>
<_quarter/>
<_month/>
<_opProperty/>
<_ref/>
<_processNullValue/>
<CUSTID __type="java:java.lang.Integer">1</CUSTID>
</__entry>
<__entry __id="4" __index="1" __type="sdo:com.primeton.das.criteria.exprType">
<_op/>
<_min/>
<_max/>
<_likeRule/>
<_dateRule/>
<_pattern/>
<_year/>
<_quarter/>
<_month/>
<_opProperty/>
<_ref/>
<_processNullValue/>
<CUSTNAME __type="java:java.lang.String">cust_1</CUSTNAME>
</__entry>
</_expr>
<_and __collection="list"/>
<_or __collection="list"/>
<_not __collection="list"/>
<_order __collection="list"/>
<_orderby __collection="list"/>
<_group/>
<_distinct/>
<_association __collection="list"/>
<_ref __collection="list"/>
<_lock/>
</criteriaEntity>
<result __unsupported="true">This value not supported be serialized by eos,
maybe it has not default constructor!!
class:class com.primeton.das.entity.impl.DASCriteriaImpl
,toString:com.primeton.das.entity.impl.DASCriteriaImpl@12b479b</result>
</__root>
</bizContext>
# translateTemplate2Criteria:将SDO数据查询模板转换为IDASCriteria
# 【功能说明】
将SDO数据查询模板转换为IDASCriteria。
# 【版本说明】
从EOS 6.0开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.eos.foundation.database.CriteriaUtil.translateTemplate2Criteria,包含在com.eos.foundation.jar中。
- 运算逻辑定义在构件包com.eos.foundation中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | dsName | String | 数据源名称 |
参数 | template | DataObject | SDO数据模板查询条件 |
返回值 | out0 | IDASCriteria | IDASCriteria查询条件 |
抛出异常说明 无。
规则说明 无。
# 【参考案例】
示例:将一个SDO数据查询模板转换为IDASCriteria。
场景描述 无。
参数设置
类型 | 名称 | 数据类型 | 值 | 值类别 | 传递方式 |
---|---|---|---|---|---|
参数 | dsName | String | default | 常量 | 传引用 |
参数 | template | DataObject | template | 变量 | 传引用 |
返回值 | out0 | IDASCriteria | result | 变量 | 传引用 |
参数描述
- 第一个参数为数据源,更多的说明参见基本操作类DatabaseUtil中的注意
- 第二个参数为SDO数据模板,template为表CUST的SDO数据模板;
- 返回值为输出的IDASCriteria查询条件。
其他说明
无。
调用前的bizContext
<bizContext>
<__root __id="0" __type="java:java.util.HashMap">
<template __id="1" __type="sdo:com.primeton.eos.foundation.example.data.CUST">
<CUSTID __type="java:java.lang.Integer">1</CUSTID>
<CUSTCODE/>
<CUSTNAME __type="java:java.lang.String">cust_1</CUSTNAME>
<BIRTH/>
<SEX/>
<ADDRESS/>
<PHOTO/>
</template>
</__root>
</bizContext>
- 调用后的bizContext
<bizContext>
<__root __id="0" __type="java:java.util.HashMap">
<result __unsupported="true">This value not supported be serialized by eos,
maybe it has not default constructor!!
class:class com.primeton.das.entity.impl.DASCriteriaImpl
,toString:com.primeton.das.entity.impl.DASCriteriaImpl@173b1c8</result>
<template __id="1" __type="sdo:com.primeton.eos.foundation.example.data.CUST">
<CUSTID __type="java:java.lang.Integer">1</CUSTID>
<CUSTCODE/>
<CUSTNAME __type="java:java.lang.String">cust_1</CUSTNAME>
<BIRTH/>
<SEX/>
<ADDRESS/>
<PHOTO/>
</template>
</__root>
</bizContext>
# translateTemplate2CriteriaEntity:将SDO数据查询模板转换为查询条件实体查询条件
# 【功能说明】
将SDO数据查询模板转换为查询条件实体。
# 【版本说明】
从EOS 6.0开始提供。
# 【引用路径】
- 本运算逻辑构件对应JAVA方法路径: com.eos.foundation.database.CriteriaUtil.translateTemplate2CriteriaEntity,包含在com.eos.foundation.jar中。
- 运算逻辑定义在构件包com.eos.foundation中。
# 【使用说明】
- 参数说明
类型 | 名称 | 数据类型 | 参数描述 |
---|---|---|---|
参数 | template | DataObject | SDO数据模板查询条件 |
返回值 | out0 | DataObject | 查询条件实体 |
抛出异常说明 转换失败抛出异常com.eos.system.exception.EOSRuntimeException。
规则说明 关于查询条件实体的说明请参考《EOS基础参考手册》中的"数据服务\CriteriaEntity"。
# 【参考案例】
示例:将CUST表的普通实体转换成一个查询实体。
场景说明 用户需要把CUST的普通实体转换成一个查询实体,以帮助其针对查询实体设置其他查询条件。
参数设置
类型 | 名称 | 数据类型 | 值 | 值类别 | 传递方式 |
---|---|---|---|---|---|
参数 | template | DataObject | template | 变量 | 传引用 |
返回值 | out0 | DataObject | criteriaEnity | 变量 | 传引用 |
参数描述
- 第一个参数:cust为输入的SDO数据模板;
- 返回值:criteriaEntity为输出的查询实体。
其他说明
无。
调用前的bizContext
<bizContext>
<__root __id="0" __type="java:java.util.HashMap">
<criteriaEntity __id="1" __type="sdo:com.primeton.das.criteria.criteriaType">
<_entity/>
<_select/>
<_expr __collection="list"/>
<_and __collection="list"/>
<_or __collection="list"/>
<_not __collection="list"/>
<_order __collection="list"/>
<_orderby __collection="list"/>
<_group/>
<_distinct/>
<_association __collection="list"/>
<_ref __collection="list"/>
<_lock/>
</criteriaEntity>
<template __id="2" __type="sdo:com.primeton.eos.foundation.example.data.CUST">
<CUSTID __type="java:java.lang.Integer">1</CUSTID>
<CUSTCODE/>
<CUSTNAME __type="java:java.lang.String">cust_1</CUSTNAME>
<BIRTH/>
<SEX/>
<ADDRESS/>
<PHOTO/>
</template>
</__root>
</bizContext>
- 调用后的bizContext
<bizContext>
<__root __id="0" __type="java:java.util.HashMap">
<criteriaEntity __id="1" __type="sdo:com.primeton.das.criteria.criteriaType">
<_entity __type="java:java.lang.String">com.primeton.eos.foundation.example.data.CUST</_entity>
<_select/>
<_expr __id="3" __type="java:com.primeton.ext.data.sdo.collection.ContainerAwareList">
<__entry __id="4" __index="0" __type="sdo:com.primeton.das.criteria.exprType">
<_op/>
<_min/>
<_max/>
<_likeRule/>
<_dateRule/>
<_pattern/>
<_year/>
<_quarter/>
<_month/>
<_opProperty/>
<_ref/>
<_processNullValue/>
<CUSTID __type="java:java.lang.Integer">1</CUSTID>
</__entry>
<__entry __id="5" __index="1" __type="sdo:com.primeton.das.criteria.exprType">
<_op/>
<_min/>
<_max/>
<_likeRule/>
<_dateRule/>
<_pattern/>
<_year/>
<_quarter/>
<_month/>
<_opProperty/>
<_ref/>
<_processNullValue/>
<CUSTNAME __type="java:java.lang.String">cust_1</CUSTNAME>
</__entry>
</_expr>
<_and __collection="list"/>
<_or __collection="list"/>
<_not __collection="list"/>
<_order __collection="list"/>
<_orderby __collection="list"/>
<_group/>
<_distinct/>
<_association __collection="list"/>
<_ref __collection="list"/>
<_lock/>
</criteriaEntity>
<template __id="2" __type="sdo:com.primeton.eos.foundation.example.data.CUST">
<CUSTID __type="java:java.lang.Integer">1</CUSTID>
<CUSTCODE/>
<CUSTNAME __type="java:java.lang.String">cust_1</CUSTNAME>
<BIRTH/>
<SEX/>
<ADDRESS/>
<PHOTO/>
</template>
</__root>
</bizContext>