Consulta

0 respostas
M

Olá, comunidade.

Estou usando Hibernate em um Projeto e no DAO estou fazendo a Query desta maneira:

public Object recuperarUmObjeto(String nomeClasse, String nomeAtributo, Integer chavePrimaria)

{

sessao = HibernateUtility.getSession();//Abrindo uma sessão

tx     = sessao.beginTransaction();	//Iniciando uma transação

Query select = sessao.createQuery(from " + nomeClasse + " where " + nomeAtributo + " = ?”);

select.setInteger(0, chavePrimaria.intValue());

Object umObjeto = (Object)select.uniqueResult();

tx.commit(); 		

sessao.close();

return umObjeto;

}

Onde:

  • nomeClasse é o nome da classe que está mapeada;
  • nomeAtributo é a coluna mapeada para chave primária do banco de dados;
  • chavePrimaria é a pk;

Assim qualquer objeto que eu quiser recuperar basta chamar este método.

Porém, acho que não fica legal a concatenação ("from "+ nomeClasse…). Existe algum outro meio de se fazer a Query sem concatenação do nome da classe???

Obrigado.

MPSV

Criado 11 de abril de 2007
Respostas 0
Participantes 1