Re: Query para Objeto.propriedade com iBatis

3 respostas
N

Galera, alguém sabe como eu faço pra colocar num query um resultado de
uma consulta em um objeto no meu bean. Tipo assm, digamos que eu tenha
um objeto chamado:

public class Contato {

private Endereco endereco;
  //outras propriedades, getters and setters

}

aí vou fazer uma consulta no ibatis:

SELECT RUA as "endereco.rua" //isso não dá certo, vai null pra lá. //outros campos FROM CADASTRO

concentrem-se apenas no mapeamento do resultado : endereco.rua.

Abraços.

3 Respostas

agodinho

vc precisa mapear seu bean (o transfer object) para as colunas do banco, daí o iBatis faz o resto.

dentro do arquivo sqlMap.xml, por exemplo:

<!-- Alias do "Transfer Object" da entidade "Contato" utilizado nos resultados. -->
	<typeAlias alias="ContatoTO" type="br.com.seupacote.Contato" />

	<!-- Mapeamento do "Transfer Object" da entidade "Contato". -->
	<resultMap id="ContatoResult" class="ContatoTO">
		<result property="idContato"		column="FVC_IDCTT" />
		<result property="nome"		column="FVC_NMCTT" />
		<result property="sobrenome"		column="FVC_CPCTT" />
		<result property="endereco"		column="FVC_ENDER" />
		<result property="complemento"		column="FVC_COMPL" />
		<result property="numero"		column="FVC_NUMER" />
		<result property="bairro"		column="FVC_BAIRRO" />
		<result property="cidade"		column="FVC_CIDADE" />
		<result property="cep"		column="FVC_CEP" />
		<result property="dinamico"		column="FVC_DINAMICO" />
	</resultMap>

	<sql id="_selectContato">
		SELECT	
		FVC_IDCTT,
		FVC_NMCTT,
		FVC_CPCTT,
		FVC_ENDER,
		FVC_COMPL,
		FVC_NUMER,
		FVC_BAIRRO,
		FVC_CIDADE,
		FVC_CEP,
                                'PODE SER ATE uma chamada de função (PL)' AS FVC_DINAMICO
		FROM	${DBALIAS}.CONTATO
	</sql>

	<sql id="_orderByContato">
		ORDER
		BY		FVC_NMCTT
	</sql>

	<select id="obter_Contatos" resultSetType="FORWARD_ONLY" fetchSize="50" resultMap="ContatoResult">
		<include refid="_selectContato" />
		<include refid="_orderByContato" />
	</select>
N

EU TINHA VISTO ISSO, MAS NÃO TAVA QUERENDO ACREDITAR QUE TERIA QUE MAPEAR TODAS AS COLUNAS… É RUIM ASSIM, MAS DÁ CERTO. VALEU. SERIA BOM SE DESSE PRA MAPEAR SÓ O OBJETO COMPOSTO.

N

tá dando um erro quando eu mapeio um objeto composto. ele diz que a coluna não existe na tabela.

Criado 5 de novembro de 2007
Ultima resposta 6 de nov. de 2007
Respostas 3
Participantes 2