[DÚVIDA] Update sem criar classe completa no Hibernate

2 respostas
T

Olá a todos,

tenho uma tabela chamada Usuario (id,nome,login e senha).

Fiz uma classe em JSP para alterar os dados de determinado usuário via Hibernate.

Pra eu fazer um update, eu preciso criar um objeto da classe Usuário, setar todos os novos dados nesse objeto e chamar uma função do UsuarioDAO que atualiza a tabela .

Mas … do modo que eu fiz o sistema não consigo setar todos os valores nesse objeto, só alguns (id e senha - id é necessário pois é a chave primária, com ele que o Hibernate sabe onde exatamente fazer o update, né ? (<pergunta rs)) por exemplo.

Eu tentei setar somente id e senha. Ele atualiza, mas deixa login e senha brancos, e se o campo for NOT NULL dá erro.

O que eu posso fazer é fazer uma busca no banco de dados antes de fazer o update e criar uma classe Usuario deixando os valores dos campos em variáveis, assim recolhendo depois o login e senha antigos e setando junto com os valores novos, mas queria saber se tem como não setar todos e fazer ele atualizar deixando com os dados antigos os que não forem setados.

[Muito complexo de entender? ]

Valew pessoal

2 Respostas

jose_neto

Velho, pelo que entendi é o seguinte: vc quer simplesmente atualizar um objeto, correto? Então, primeiramente vc terá que fazer uma busca na base através do id deste objeto, depois atualizar os campos necessários e, posteriormente, mandar atualizar o objeto (update(nomeDoObjeto)). Pronto, só isso…

Vc deve fazer a busca previamente para manter o objeto persistente na sessão do hibernate. Depois disso faz as alterações e manda atualizar.

Espero ter ajudado.

T

Ajudou sim, imaginei que teria outra forma de fazer os dados não atualizados ficarem na tabela. Mas ok.

Obrigado.

Criado 3 de março de 2011
Ultima resposta 3 de mar. de 2011
Respostas 2
Participantes 2