[Resolvido] Salvar data atual no banco de dados

Boa noite,

Galera estou tentando salvar a data atual do sistema no banco de dados, mas estou com dúvidas de como fazer isso.
Observações:
O meu bando de dados (Postgres) tem uma coluna do tipo Date, estou usando Glassfish, hibernate e EJB.
No codigo existe alguns códigos comentados, esses códigos foram alguns teste que não foram bem sucedidos.

    /* Classe Mensagem */  
    @Entity  
    @Table(name = "mensagem")  
    public class Mensagem implements Serializable {  
        private static final long serialVersionUID = 1L;  
        @Id  
        @SequenceGenerator(name = "mensagem_sequence", sequenceName = "mensagem_sequence",   
                allocationSize = 1, initialValue = 1)  
        @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "mensagem_sequence")  
        @Column(name = "id")  
        private Integer id;  
        @Column(name = "assunto", length=60)  
        private String assunto;  
        @Column(name = "conteudo", length=255)  
        private String conteudo;  
        @Basic(optional = false)  
        @Column(name = "data_envio")  
        @Temporal(TemporalType.TIMESTAMP)  
        private Date dataEnvio;  
        @JoinTable(name = "mensagem_destinatario", joinColumns = {  
            @JoinColumn(name = "mensagem", referencedColumnName = "id")}, inverseJoinColumns = {  
            @JoinColumn(name = "destinatario", referencedColumnName = "id")})  
        @ManyToMany  
        private List<Usuario> destinatarios;  
        @JoinColumn(name = "rementente", referencedColumnName = "id")  
        @ManyToOne(optional = false)  
        private Usuario rementente;  
      
        public Mensagem() {  
        }  
      
        public Mensagem(Integer id) {  
            this.id = id;  
        }  
      
        public Mensagem(Integer id, Date dataEnvio) {  
            this.id = id;  
            this.dataEnvio = dataEnvio;  
        }  
      
        public Integer getId() {  
            return id;  
        }  
      
        public void setId(Integer id) {  
            this.id = id;  
        }  
      
        public String getAssunto() {  
            return assunto;  
        }  
      
        public void setAssunto(String assunto) {  
            this.assunto = assunto;  
        }  
      
        public String getConteudo() {  
            return conteudo;  
        }  
      
        public void setConteudo(String conteudo) {  
            this.conteudo = conteudo;  
        }  
      
        public Date getDataEnvio() {  
            return dataEnvio;  
        }  
      
        public void setDataEnvio(Date dataEnvio) {  
            this.dataEnvio = dataEnvio;  
            setDataEnvio(new Date());  
            Date data = new Date();  
        }  
      
        public List<Usuario> getDestinatarios() {  
            return destinatarios;  
        }  
      
        public void setDestinatarios(List<Usuario> usuarioList) {  
            this.destinatarios = usuarioList;  
        }  
      
        public Usuario getRementente() {  
            return rementente;  
        }  
      
        public void setRementente(Usuario rementente) {  
            this.rementente = rementente;  
        }  
    }  
    /* Classe MensagemDAO */  
    @Stateless  
    @LocalBean  
    public class MensagemDAO implements InterfaceDAO<Mensagem>{  
          
        @PersistenceContext  
        private EntityManager em;  
      
        @Override  
        public List<Mensagem> buscarTodos() {  
            return em.createQuery("from Mensagem").getResultList();  
        }  
      
        @Override  
        public void adicionar(Mensagem objeto) {  
            em.persist(objeto);  
        }  
      
        @Override  
        public void remover(Mensagem objeto) {  
            Mensagem mensagemAExcluir = em.merge(objeto);  
            em.remove(mensagemAExcluir);  
        }  
      
        @Override  
        public void atualizar(Mensagem objeto) {  
            em.merge(objeto);  
        }  
    }  
    /* MensagemBean */  
    @ManagedBean(name = "mensagemBean")  
    @SessionScoped  
    public class MensagemBean {  
          
        private Mensagem mensagem;  
        private ListDataModel mensagens;  
          
        @EJB  
        private MensagemFachada mensagemFachada;  
          
        public MensagemBean() {  
          mensagem = new Mensagem();  
        }  
      
        public Mensagem getMensagem() {  
           return mensagem;  
        }  
          
        public void setMensagem(Mensagem mensagem) {  
            this.mensagem = mensagem;  
        }  
          
        public ListDataModel getMensagens() {  
            return mensagens;  
        }  
          
        public void setMensagens(ListDataModel mensagens) {  
            this.mensagens = mensagens;  
        }  
          
        public String excluir() {  
            mensagemFachada.excluir(this.getMensagem());  
            this.recuperarMensagens();  
            return "/mensagem/ListarMensagens";  
        }  
          
        public String listar() {  
            this.recuperarMensagens();  
            return "/mensagem/ListarMensagens";  
        }  
          
        public String inserir() {  
            try {  
                mensagemFachada.inserir(this.getMensagem());  
                this.recuperarMensagens();  
                return "/mensagem/profile";  
            } catch (Exception e) {  
                return "/mensagem/login";  
            }  
        }  
         
        private void recuperarMensagem() {  
            this.mensagem = (Mensagem) this.mensagens.getRowData();  
        }  
      
        private void recuperarMensagens() {  
            this.mensagens = new ListDataModel(mensagemFachada.listar());  
        }     
    }  
    /* MensagemFachada */  
    @Stateless  
    public class MensagemFachada{  
          
        @EJB  
        private MensagemDAO mensagemDAO;  
          
        /*public static final int MENSAGEM_ENVIADA = 1;*/  
        /*public static final int ERRO_ENVIAR_MENSAGEM = 2;*/  
          
        public void excluir(Mensagem mensagem) {  
            mensagemDAO.remover(mensagem);  
        }  
             
        public void inserir(Mensagem mensagem) {  
            mensagemDAO.adicionar(mensagem);  
        }  
          
        /*public int inserir(Usuario remetente, List<Usuario> destinatarios, String assunto, String conteudo){ 
            Mensagem msg = new Mensagem(); 
            msg.setRementente(remetente); 
            msg.setDestinatarios(destinatarios); 
            msg.setConteudo(conteudo); 
            msg.setAssunto(assunto); 
            msg.setDataEnvio(new Date()); 
            try{ 
                mensagemDAO.adicionar(msg); 
            }catch(Exception ex){ 
                return ERRO_ENVIAR_MENSAGEM; 
            } 
            return MENSAGEM_ENVIADA;   
        }*/  
          
          
        /*public void inserir(Usuario remetente, List<Usuario> destinatarios, String assunto, String conteudo){ 
            Mensagem mensagem = new Mensagem(); 
            mensagem.setRementente(remetente); 
            mensagem.setDestinatarios(destinatarios); 
            mensagem.setConteudo(conteudo); 
            mensagem.setAssunto(assunto); 
            mensagem.setDataEnvio(new java.util.Date()); 
            mensagemDAO.adicionar(mensagem); 
        }*/  
             
        public List<Mensagem> listar() {  
            return mensagemDAO.buscarTodos();  
        }  
    }  

Só setar o campo timestamp dessa forma "new Timestamp(new java.util.Date().getTime()) " e tá tudo resolvido.

Dakon

vc disse setar na minha entidade mensagem, lá no set ?
pq esse campo no xhtml não existe, uma vez gravado eu vou pegar o valor no banco e apenas mostrar.

vlw pela atenção.

[quote=alexandergtk]Dakon

vc disse setar na minha entidade mensagem, lá no set ?
pq esse campo no xhtml não existe, uma vez gravado eu vou pegar o valor no banco e apenas mostrar.

vlw pela atenção.[/quote]

Entendi agora o que você quer fazer! Esquece o que eu havia falado antes!

Pra fazer o que você quer, é só colocar no construtor da classe

Vendo o set do campo dataEnvio, porque tem akela ultima linha? “Date data = new Date()”?

public void setDataEnvio(Date dataEnvio) {    
        this.dataEnvio = dataEnvio;    
        setDataEnvio(new Date());    /*Tentativa de teste */
        Date data = new Date();      /*Tentativa de teste */
}

Tentei dessas duas formas, mas nem juntas e nem uma só setou a data atual no banco.
Na verdade não existe e campo em si, na hora que eu mando gravar a msg quero que salve a data atual pq ela sera um meio de ordenar minhas mensagens, funfa apena igual ao ID só grava mesmo.

hey guy, you man !

pow deu certo gravo o que eu preciso, gravo no estilo americado mas isso é facil alterar.
vlw pela ajuda…