Como criar rotina de procurar um registro no dao usando hibernate

3 respostas
S

como posso fazer um metodo no meu DAO que procure um registro numa determinada tabela. porem, se for achado o registro ele me retorne a informacao
para que eu possa tratar.
ou seja, quero verificar se um determinado registro informado pelo usuario, ja exite na tabela, e o sistema informará que o registro ja existe, e dai eu informarei na
tela que o cliente ja existe e nao pode ser gravado novamente.

o trecho da rotina que desejo consertar esta logo abaixo:

@SuppressWarnings("unchecked") public Livro procuraClientePeloNomeMaisRG(String nomeCliente, int rg) { Session s = HibernateUtil.openSession(); Query select = s.createQuery("from Cliente as cliente" + " where cliente.nomeCliente= :nomeCliente and cliente.rg = :rg"); // select. ------------------------------------------------------------------------------------------> (minha duvida eh nessa linha) return (Cliente) select.uniqueResult(); }

3 Respostas

davidbuzatto

Olá,

Primeiramente, não duplique tópicos. Apaguei o tópico duplicado. Quando postar algo, aguarde um momento para verificar se foi postado. As vezes o fórum parece que não respondeu.
Segundo, use a tag “code” para formatar suas listagens de código fonte. Já alterei seu tópico fazendo isso.
Por fim, quando à dúvida, me responda uma coisa: O RG é a chave primária da entidade? Se for, dá para simplificar o que você está tentando fazer. O que Livro e Cliente tem em comum? Pois o retorno do seu método é Livro, mas vocêestá retornando um Cliente. Vish, tem bastante coisa errada ou incompleta nesse código.

ErickRAR

Coloque o RG ou CPF como único. Se tentarem gravar algo com o mesmo RG ou CPF, dará erro. Não precisa disso tudo.

S

ola,
primeiro, agradeco as orientacoes aqui descritas. afinal, sou novo no forum!
se houve dois post’s é porque houve uma mensagem de erro de pagina assim que enviei o primeiro e nao me pareceu que havia dado certo este primeiro post.
dai, tive q enviar, na duvida, novamente. valeu pelo toque!
a informacao Livro esta indevidamente ali, no codigo, pois no caso, eh “Cliente”, ok?
sim, nome do cliente e rg nao sao chaves-primarias. sao apenas campos comuns e quero verificar se jah foram gravados na tabela anteriormente por algum usuario.
espero ter esclarecido esse ponto, ok?
sem mais. aguardo.
agradeco!

Criado 22 de julho de 2012
Ultima resposta 22 de jul. de 2012
Respostas 3
Participantes 3