Pessoal,
Tenho uma classe que chama isso:
UsuarioDAO usuarioDAO = (UsuarioDAO) DAOFactory.getInstance().getDAO(UsuarioDAO.class);
Usuario user = usuarioDAO.load(usuario);
List lista = new ArrayList();
Set<Distribuidor> set = user.getDistribuidores();
for (Distribuidor dist: set) {
lista.add(dist);
}
E pelo que vi o que pega os dados é esse getDistribuidores()…e quando eu vou ver o que ele tem…ele chama uma classe que tem esse método:
public class Usuario implements Comparable, Serializable{
.
.
.
/**
* Return the value associated with the column: distribuidores
*/
public java.util.Set<br.com.xxxx.sistema.integration.persistence.Distribuidor> getDistribuidores () {
return distribuidores;
}
.
.
.
Então como ele pega os dados? alguem consegue me dar uma luz?
eduacsp,
Pelo que entendi você não entendeu como o DAO resgata os dados da base, é isso?
veja se ó métodous uarioDAO.load(usuario); não está chamando o DAO do Distribuidor e carregando os dados para o usuário em questão.
espero ter entendido.
Abraço…
[quote=joaomiguel]eduacsp,
Pelo que entendi você não entendeu como o DAO resgata os dados da base, é isso?
veja se ó métodous uarioDAO.load(usuario); não está chamando o DAO do Distribuidor e carregando os dados para o usuário em questão.
espero ter entendido.
Abraço…[/quote]
Amigo…ele não pega pelo UsuarioDAO.load(usuario) mas sim pelo user.getDistribuidores()…o q eu não entendo, é como ele chega no Dao
Pelo que entendi:
public java.util.Set<br.com.xxxx.sistema.integration.persistence.Distribuidor> getDistribuidores () {
return distribuidores;
}
distribuidores é um atributo de Usuario. É um Set, correto?
no método usuarioDAO.load(usuario); não tem um setDistribuidores(Set set) ?
você pode postar o código do método usuarioDAO.load(usuario); ?
abraço
public Usuario load(java.lang.String key)
{
return (Usuario) load(getReferenceClass(), key);
}
kra…isso aqui é hibernate…agora q vi
Hehe
já estava escrevendo sobre isso…
então, o Hibernate deve estar configurado para trazer todas as dependêndias do objeto Usuario, ou seja, quando você manda trazer o dado de um Usuario, ele verifica se há FOREIGN KEYS e tras os objetos relacionados pelas mesmas…
Isso vai acontecer com outros objetos que estão relacionados por chaves estrangeiras no banco, ele vai resgatar todos os objetos que se relacionam.
Eu não trabalho com Hibernate, mas é isto que está acontecendo.
Parece que esta é uma configuração do Hibernate, você pode configurá-la.
Abraço…