在Oracle Service Bus上过滤Db适配器中的子表

时间:2017-05-12 10:04:43

标签: oracle orm jdeveloper osb

我有一个自相关的表格,其中包含有效和历史数据(字段状态持有' A'(ctive)或' H'(istorical) )

我需要创建一个服务,返回活动记录及其所有活动子项。

我可以在主查询中添加一个条件,但不能影响"很多"一对多关系的一部分:也检索历史记录。是否可以实现它而不创建基于表没有关系的服务循环管道?在纯eclipselink中,这可以通过使用DescriptorCustomizer来实现,但我不知道这是否是OSB的有效解决方案。 此外,我无法创建仅包含活动记录的数据库视图。 顺便说一句,我在12.2.1.1

示例表结构和数据(对于Oracle):

Locale.system

1 个答案:

答案 0 :(得分:0)

也许你已经解决了,但你可以使用 connect by 子句来做到这一点。

select
  lpad(' ', 2*level) || id
from
  self_rel_tab
  where status = 'A'
start with
  parent_id is null
connect by
  prior id=parent_id 

JP