欢迎使用普元产品知识库,本知识库包含普元应用开发平台EOSPlatform,流程平台BPS,企业服务总线ESB,微服务平台Microservice,运维管理平台Devops,数据集成平台DI
欢迎使用普元文档库
用户场景:客户在进行数据操作时,需要记录实体数据的变化历史,计划用实体拦截器实现。
原因:EOS提供的基础构件库的每个方法都单独的在一个das session中执行,只有将查询和更新放在一个das session中执行,arg3才会有值。
解决方案:
Connection conn = ConnectionHelper.getCurrentContributionConnection("default"); try { IDASSession session = DASManager.createDasSession(conn); IDASCriteria criteria = DASManager.createCriteria("org.gocom.abframe.unittest.handler.db.OOrg"); criteria.add(ExpressionHelper.eq("orgId", BigDecimal.ONE)); DataObject obj = session.queryEntity(criteria); obj.set("orgCode", "newVV"); session.updateEntity(obj); session.close(); } catch (Exception e) { try { if (conn != null) { conn.close(); } } catch (Exception ex) { } }
此时将查询和更新放在一个das session中执行,只有符合这种场景使用时,才能取到arg3值。