浏览 1767 次
锁定老帖子 主题:请问如何再drl文件中查询数据库
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-12-29
#created on: 2007-12-29 package hibernateRule #list any import classes here. import com.yourcompany.dataModel.NodeRelationMapping; import com.yourcompany.dataModel.Node; import com.yourcompany.service.Service; import java.util.List; #declare any global variables here global java.util.List myGlobalList; global com.yourcompany.service.Service service; rule "myRule" when $nodeA:Node(status=="0") $map:NodeRelationMapping($temp:nodeByANodeId,$alarmStep:step) from $nodeA.nodeRelationMappingsForZNodeId then $nodeB:(getNodeById($temp.getId())); $nodeB.setStatus("-1"); $nodeB.setAlarm($alarmStep.longValue()+$nodeB.getAlarm().longValue()); #System.out.println($nodeB.getAlarm()); $nodeA.setStatus("-1"); myGlobalList.add($nodeA); update($nodeA); $nodeB.setStatus("0"); insert($nodeB); end function Node getNodeById(String nodeId) { return service.getNodeById(nodeId); } 我以全局变量的形式传进来一个hibernate服务类型的实例。通过该实例的getNodeById可以取得节点信息。 我再drl文件中定义了这个function。可是在使用时这个地方的service报错。 还有就是$nodeB:(getNodeById($temp.getId()));这个写法好像不合法。不知道我如何表达将临时取得的节点起一个别名,这个意思。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |