Windchill 高级查询之查询条件动态变化写法
本文主要陈述在高级搜索业务场景,定义后台查询方法时需要考虑:
- 查询条件支持动态扩展
- 定义高级查询时需要明确定义是否需要查出该对象的子类
- 查询方法是否需要忽略权限
- 查询方法尽量支持批量查询,减少数据库与服务器的交互
- 查询条件能命中索引的写在最后面,筛选结果集的放在where里面
- 尽量返回对象,调用的地方通过对象获取相关属性
举个栗子
public static List<WTPart> queryItemByNumberAndState(String ipNumber, String state)
throws WTPropertyVetoException, WTException {
List<WTPart> itemResult = new ArrayList<WTPart>();
if (!RemoteMethodServer.ServerFlag) {
try {
Class[] argType = { String.class, String.class };
Object[] arg = { ipNumber, state }