Olá pessoal,
É o seguinte, com certeza não deve ser a melhor maneira o que eu quero fazer, mas no momento gostaria que fosse assim.
Em um caso aqui tenho uma entidade, e nela tenho umas 5 NamedNativeQueries, abaixo segue exemplo:
@NamedNativeQueries(
{
@NamedNativeQuery(
name="getDadosPrecipitacao",
query=" Select "
+ " vm.cd_estac_agromet, vm.cd_var_leitura, vm.dt_hora_leitura, vm.vl_dado_1, 0 as vl_dado_2, 0 as vl_dado_3, 0 as vl_dado_4, 0 as vl_dado_5 "
+ " From :tableOrView vm, sam.estac_agromet ea "
+ " Where vm.cd_estac_agromet = :idEstacao "
+ " And vm.cd_estac_agromet = ea.cd_estac_agromet "
+ " And vm.cd_var_leitura = decode(ea.nr_tp_estac_agromet,2,27,1,8) "
+ " And vm.dt_hora_leitura > decode(ea.nr_tp_estac_agromet,2,sysdate-:nDias,1,sysdate-:nDiasConvencional) "
+ " Order by vm.dt_hora_leitura ",
resultSetMapping = "DadosVariaveis"
),
@NamedNativeQuery(
name="getDadosTemperatura",
query=" Select "
+ " vm.cd_estac_agromet, vm.cd_var_leitura, vm.dt_hora_leitura, "
+ " decode(ea.nr_tp_estac_agromet,2,vm1.vl_dado_1,1,null) as vl_dado_1, "
+ " decode(ea.nr_tp_estac_agromet,2,vm1.vl_dado_2,1,vm1.vl_dado_3) as vl_dado_2, "
+ " decode(ea.nr_tp_estac_agromet,2,vm2.vl_dado_1,1,vm1.vl_dado_1) as vl_dado_3, "
+ " decode(ea.nr_tp_estac_agromet,2,vm2.vl_dado_3,1,vm1.vl_dado_2) as vl_dado_4 "
+ " From :tableOrView vm1, :tableOrView vm2, sam.estac_agromet ea "
+ " Where vm1.cd_estac_agromet = :idEstacao "
+ " And vm1.cd_estac_agromet = ea.cd_estac_agromet "
+ " And vm1.cd_estac_agromet = vm2.cd_estac_agromet "
+ " And vm1.cd_var_leitura = decode(ea.nr_tp_estac_agromet,2,19,1,3) "
+ " And vm2.cd_var_leitura = decode(ea.nr_tp_estac_agromet,2,20,1,3) "
+ " And vm1.dt_hora_leitura > decode(ea.nr_tp_estac_agromet,2,sysdate-:nDias,1,sysdate-:nDiasConvencional) "
+ " And vm1.dt_hora_leitura = vm2.dt_hora_leitura "
+ " Order by vm.dt_hora_leitura ",
resultSetMapping = "DadosVariaveis"
)
})
Meu problema está aqui neste parametro --> :tableOrView
Gostaria de passar como parâmetro o nome da tabela/view, pois em alguns casos irei fazer consulta em uma tabela em outro em uma view.
Alguém já passou por isso? Tem como passar uma solução?
Obrigado,
Marcelo