Ola a todos.
Primeiro gostaria de agradecer a este forum pelas dúvida que já tirei em varios topicos que ja encontrei por aqui…
Mas este nao achei e me cadastrei para tentar solucioná-lo…
Vamos lá
Eu tenho um mapeamento no Hibernate de uma Tabela simples, que contem um vasto cadastro com codigo e descrição, de acordo com uma chave/subchave informada. Para quem conhece JDE, seria tabelas de UDC (User Defined Code)
A tabela possui basicamente 4 campos:
Chave
SubChave
Codigo
Descricao
Exemplos:
Cadastro de Unidade de Medida de Venda:
Usando Chave: 41 e SubChave: 01 temos:
Codigo: CX -> Descricao: Caixa
Codigo: UN -> Descricao: Unidade
Cadastro de Unidade de Medida de Compra:
Usando Chave: 41 e SubChave: 05 temos:
Codigo: BJ -> Descricao: Bandeija
Codigo: BL -> Descricao: Balde
Cadastro de Estado
Usando Chave: 55 e SubChave: SD temos:
Codigo: SP -> Descricao: Sao Paulo
Codigo: RJ -> Descricao: Rio de Janeiro
E por ai vai. Ou seja, qualquer cadastro simples, com apenas codigo e descricao está nessa tabela.
Qual seria o meu problema: Eu criem um HBM generico para essa tabela e vários SQL-Query, como exemplo abaixo:
<hibernate-mapping package="com.mb.hibernate.jde">
<class name="hbmUDC">
<id name="codigo"
column="drky"
type="string">
</id>
<property name="descricao"
column="drdl01"
type="string"
not-null="false"
length="30" />
</class>
<sql-query name="UDC.UnidMedida">
<return class="hbmUDC" >
<return-property name="codigo" column="drky"/>
<return-property name="descricao" column="drdl01"/>
</return>
SELECT DISTINCT TRIM(DRKY) DRKY, TRIM(DRDL01) DRDL01 FROM F0005
WHERE DRSY='00' AND DRRT='UM'
ORDER BY DRDL01
</sql-query>
<sql-query name="UDC.InstPgto">
<return class="hbmUDC" >
<return-property name="codigo" column="drky"/>
<return-property name="descricao" column="drdl01"/>
</return>
SELECT DISTINCT TRIM(DRKY) DRKY, TRIM(DRDL01) DRDL01 FROM F0005
WHERE DRSY='00' AND DRRT='PY'
ORDER BY DRDL01
</sql-query>
Usso esses SQL’s para pegar uma lista de todos os códigos de uma chave/subchave especifica.Até aí, tudo bem. O que eu queria fazer seria dar um LOAD em um código específico (como SP, por exemplo) e pegar sua descrição (no caso, Sao Paulo). Existe uma forma de usar um loader query-ref dinamico ou alguma outra forma para usar o comando Load simples do HB para pegar essa descrição, visto que o campo codigo é chave da minha classe??
Abraços!!
