Duvida sobre método do Dao Genérico

1 resposta
M

Olá pessoal,

Estou com um probleminha na construção de um método do meu Dao Genérico …

A situação é a seguinte …

No momento que estou inserindo dados em um formulário qualquer, tenho alguns combos que exibem dados de outras tabelas relacionadas … ex. cadastro de estados seleciona o pais …

Para que isso funcione tenho escrito um método em cada controller da minha aplicação da seguinte forma …

private Map<String, Object> paisItem = null;

	public Map<String, Object> getPaises(){
		paisItem = new LinkedHashMap<String, Object>();
		for (Iterator<?> iter = paisDao.todos().iterator(); iter.hasNext();){
			Pais p = (Pais)iter.next();
			paisItem.put(p.getNome(), p.getId());
		}
		return paisItem;
	}

que depois utilizo no formulário assim …

<h:selectOneMenu value="#{estadoController.estado.pais.id}"
						id="pais">
						<f:selectItems value="#{estadoController.paises}" />
					</h:selectOneMenu>

Então o problema é que tenho que escrever isso toda vez em cada controller e repetidas vezes … gostaria de implementar um método no meu Dao genérico que resolvesse isso …

Tentei resolver da seguinte forma mas não adiantou …

public Map<String, Object> listDesc(String desc, String id){

		String command = "SELECT obj." + desc + " obj." + id + " FROM " + oClass.getSimpleName() + " obj";
		Query query = getEntityManager().createQuery(command);
		List result = query.getResultList();

		HashMap item = new LinkedHashMap<String, Object>();
		for (Iterator<?> iter = result.iterator(); iter.hasNext();){
			iter.next();
			item.put(result.get(0).toString(), result.get(1));
		}
		return item;

	}

1 Resposta

M

Eae colegas, será que alguem pode me ajudar …

Sem soluções pro caso ainda … :-S

Criado 15 de dezembro de 2008
Ultima resposta 18 de dez. de 2008
Respostas 1
Participantes 1