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();
}
}