Selecao de dados por valores de uma entity

0 respostas
A

Pessoal… não sei se há um meio fácil de fazer isso, ou se já até existe pronto…

Ao inves de ficar fazendo em CADA DAO a selecao do dados assim

public List<Usuarios> select(String nome, int idade, String datanasc, etc..) throws PersistenceException { .. }
public List<Produtos> select(String produto, float peso, etc..) throws PersistenceException { .. }
bla bla

Fizesse assim: selecao por entities:

//Preenche a entity
   Usuarios user = new Usuarios();
   user.setNome("Tony");

   //buscando usuarios com o nome "Tony"
   List<Usuarios> foundUsers = userDao.find(user);

   //E no metodo do UserDao
   public List<Usuarios> find(Usuario criterios) {
        //busca apenas os dados da entity que foram setados
        //.... ?????? EntityManager.???(criterios);
   }

sendo que este modo deveria funcionar para TODAS as entidades.

Eu acho que esse poderia ser um aspecto mais do EJB do que do desenvolvedor, ou seja, o EntityManager deveria conter algum metodo que fizesse este esforco. Pensando assim, deveria haver um modo do EntityManager saber qual campo vai ser pesquisado… pois null ainda é um valor valido para busca… (*ai complica).

Alguém sabe um modo semelhante ou mais simples de se fazer isso?

Valeu.

Criado 7 de fevereiro de 2008
Respostas 0
Participantes 1