[Logo] Neo Framework Forum
  [Search] Busca   [Recent Topics] Tópicos Recentes   [Members]  Lista de Usuários   [Groups] De volta para a página principal 
[Register] Registrar / 
[Login] Entrar 
Carregar bean  XML
Índice dos Fóruns -> Dúvidas
Autor Mensagem
robmsjr
MultiAction

Membro desde: 26/06/2007 19:30:49
Mensagens: 88
Offline

Existe algum metodo no GenericDao que retorna o Bean com todos seus filhos preechidos? Ou tem que implementar normalmente?

ex:

Tenho a classe conteudo, a qual quero carregar e depois poder acessar conteudo.getmidia().getArquivo().getNome.

abraços;

EDITADO:

aproveitarei que você ainda não leu para postar outras duvidas:

1)
Na minha tela crud de conteudo (que tem um filho imagem) está causando o seguinte warn no log:

Code:
 2007-07-05 16:01:09,144 [http-8080-Processor24] WARN br.com.linkcom.neo.bean.PropertyDescriptorBeanWrapper - Não foi possível encontrar Imagem com identificador 2 no banco de dados
 2007-07-05 16:01:09,144 [http-8080-Processor24] WARN br.com.linkcom.neo.bean.PropertyDescriptorBeanWrapper - Carregando objeto da classe java.lang.String sob demanda. propriedade (titulo). Utilize leftOuterJoinFetch para evitar esse problema
 2007-07-05 16:01:09,145 [http-8080-Processor24] INFO br.com.linkcom.neo.persistence.QueryBuilder - SELECT imagem FROM org.neo.exemplo.bean.Imagem imagem WHERE imagem.idimagem = ?
 2007-07-05 16:01:09,241 [http-8080-Processor24] WARN br.com.linkcom.neo.bean.PropertyDescriptorBeanWrapper - Não foi possível encontrar Imagem com identificador 2 no banco de dados
 2007-07-05 16:01:09,241 [http-8080-Processor24] WARN br.com.linkcom.neo.bean.PropertyDescriptorBeanWrapper - Carregando objeto da classe java.lang.String sob demanda. propriedade (titulo). Utilize leftOuterJoinFetch para evitar esse problema


a questão é que já está implementado o leftOuterJoinFetch, o codigo dele é o seguinte:
Code:
 @Override
 	public void updateEntradaQuery(QueryBuilder<Conteudo> query) {
 		query.leftOuterJoinFetch("conteudo.imagem");
 	}
 
 	@Override
 	public void updateListagemQuery(QueryBuilder<Conteudo> query, FiltroListagem filtro) {
 		query.leftOuterJoinFetch("conteudo.imagem");
 	}
 


--------------------------
2)
Estou precisando gravar o conteudo num arquivo xml, sempre que o mesmo é salvo no banco... então estava tentando fazer a sobrecarga do metodo salvar no meu CRUD, e depois que o conteudo fosse salvo, carregava ele do banco com todos os filhos e salvaria no xml...

o problema é que a sessão é fechada depois que ele salvo no banco... e ai não sei consigo carregar (com service.load) pq da erro...
robmsjr
MultiAction

Membro desde: 26/06/2007 19:30:49
Mensagens: 88
Offline

Já fiz o load normalmente e funcionou ok, então esqueça a duvida 2;

Agora o warn não está saindo...
rogel.garcia
Xiita

Membro desde: 17/04/2007 16:35:03
Mensagens: 275
Offline

O warn `Carregando objeto da classe java.lang.String sob demanda. propriedade (titulo)` é porque está faltando o join de alguma propriedade, no caso o seu bean titulo não está carregado.
rogel.garcia
Xiita

Membro desde: 17/04/2007 16:35:03
Mensagens: 275
Offline

Os métodos no dao somente carregam o próprio bean. Se vc desejar carregar outros, vc deve usar um query builder e fazer joinfetch
robmsjr
MultiAction

Membro desde: 26/06/2007 19:30:49
Mensagens: 88
Offline

Os joins já tinha feito e estão funcionando ok.
Agora meu bean titulo é um String da classe Imagem q ta no join... mas vou ver o que pode ser.
pedro.goncalves
Equipe
[Avatar]
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline

Saca so..

Quando vc usa .join ele apenas faz um join e nao carrega o objeto que vc fez join..

agora quando vc usa .joinFetch ele carrega o objeto entendeu?

té!

Pedro Gonçalves
http://pedrogoncalves.com.br
[Email] [WWW] [MSN]
 
Índice dos Fóruns -> Dúvidas
Ir para:   
Powered by JForum 2.1.7 © JForum Team