Pessoal quero saber qual o mais correto e eficiente dentre as opções vou mostrar,
por exemplo tenho um bean Estado, e um bean Pais. no meu modelo de negocios
tenho um listAll() para obter todos estados, porém sem conter o paises, entao se
eu quizer os paises devo fazer:
Ou no meu repositorio de Estados criar um metodo que já me volte os carregado
usando sql para relacionar, tipo um
"SELECT e.idEstado, p.idPais, e.nomeEstado, p.nomePais FROM Estado e, Pais p WHERE e.idPais = p.idPais"
?
A vantagem do sql é que será apenas uma query que vai me retornar tudo.
e da forma com o codigo acima, se eu tiver 100 estados, serão 100 queryes.
Faz uma consulta só para a tabela de países, monta uma lista com todos os países e depois busca na lista o país para cada estado ao invés de consultar o banco.
robertwgil
OK, seria então conveniente, converter a Lista para um
Map<Integer, Pais> ?
Assim
Não sei como estão os atributos da sua classe Estado, mas no código acima você está dando “getPais” dentro do setPais e como você ainda não tem o objeto pais na classe estado provavelmente dará uma exceção.
Como você sabe qual PAÍS de um determinado ESTADO?
Use esse identificador para buscar no MAP.
Pelo select do primeiro post acho que deveria ser :