Agora se sabe o id do cliente...
Deseja se atualizar o email do cliente
Mas se eu mandar atualizar id, email com name null ele vai limpar o nome do cliente??? Usando Criteria do Hibernate.
Certo ou errado...
Como devo fazer para ter essa necessidade atendida?
Agradeço desde já as participações...
Você não usa Criteria para atualizar objetos, para isso use o método update(), saveOrUpdade() da session.
Para atualizar, primeiro recupere o objeto que deseja atualizar e então altere nele os dados que deseja e faça a atualização pelo método update() ou saveOrUpdate().
Da uma olhada nesse tutorial: utilizando-swing-com-hibernate-sessionfactory
MarceloNeo
romarcio:
Você não usa Criteria para atualizar objetos, para isso use o método update(), saveOrUpdade() da session.
Para atualizar, primeiro recupere o objeto que deseja atualizar e então altere nele os dados que deseja e faça a atualização pelo método update() ou saveOrUpdate().
Da uma olhada nesse tutorial: utilizando-swing-com-hibernate-sessionfactory
Ai é que esta a questão NÃO quero recuperar o Objeto…
Entede deveria ser algo como um merge…
os valores que são nullos não mudar…
com SQL normal isso é possivel
por exemplo: sql="UPDATE cliente set email='[email removido]' where id=1 "Agora acho que fui mais claro…
adrianostanley
Acontece que o Hibernate entende que quando vc não passa um valor (isto é, quando ele é “null”) é porque você quer setá-lo como null no banco também pois no fundo dos panos ele vai fazer um set pra cada campo.
Se ele ignorasse o null, como ele saberia se você quer setar o campo pra null ou fazer nada com ele?
adrianostanley
Acontece que o Hibernate entende que quando vc não passa um valor (isto é, quando ele é “null”) é porque você quer setá-lo como null no banco também pois no fundo dos panos ele vai fazer um set pra cada campo.
Se ele ignorasse o null, como ele saberia se você quer setar o campo pra null ou fazer nada com ele?
MarceloNeo
adrianostanley:
Acontece que o Hibernate entende que quando vc não passa um valor (isto é, quando ele é “null”) é porque você quer setá-lo como null no banco também pois no fundo dos panos ele vai fazer um set pra cada campo.
Se ele ignorasse o null, como ele saberia se você quer setar o campo pra null ou fazer nada com ele?
Sim o que você falou esta correto…
Também sabemos disso…
mas vamos se a ter ao problema… atualizar determinados campos…
Com o Hibernate em si…