Caros colegas, estou com um pequeno problema quando vou alterar um registro existente no meu banco.
Carrego normalmente os dados o objeto com "return (Idioma) session.load(Idioma.class, id)" e os envio para o formulário de edição:
<form action="<c:url value="/idioma/atualiza" />" id="dados" method="post">
<input type="hidden" name="idioma.ididioma" value="${idioma.ididioma}"/>
Idioma: <input type="text" name="idioma.nomeidioma" value="${idioma.nomeidioma}" />
<input type="hidden" name="idioma.idusuariomodificador" value="${usuarioLogado.id}" />
<input type="submit" value="Alterar" />
</form>
A classe idioma utilizada acima segue logo abaixo:
package br.com.uespi.biblioteca.model;
import java.util.Date;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;
@Entity
public class Idioma {
@Id
@GeneratedValue
private Long ididioma;
private String nomeidioma;
private Long idusuariocriador;
@Temporal(TemporalType.DATE)
private Date datacriacao;
private Long idusuariomodificador;
@Temporal(TemporalType.DATE)
private Date datamodificacao;
...
quando envio o formulário (com ou sem alteração), o objeto é atualizado, mas os campos que eu não declaro no formulário são setados como null, apagando desta forma informações que preciso, tais como a "datacriacao" de tal registro. Estou utilizando session.update(idioma) para atualizar, sendo que já testei com session.merge() tb e não funfou.
Como vocês têm feito para contornar essa situação?
Agradeço a atenção pessoal.