Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Configuração da Data com Hora e Minuto

Sabem me dizer porque minha tela mostra as horas zeradas de todos os registros? Mesmo aqueles que gravei depois de configurar para gravar Horas e Minutos?

<h:column>
            <f:facet name="header">Data</f:facet>
            <h:outputText id="dataLancamento" value="#{livro.dataLancamento.time}">
                <f:convertDateTime pattern="dd/MM/yyyy HH:mm" />
            </h:outputText>
        </h:column>


<h:outputLabel value="Data de Lançamento:" for="dataLancamento" />
                <h:inputText id="dataLancamento" value="#{livroBean.livro.dataLancamento.time}" >
                    <f:convertDateTime pattern="dd/MM/yyyy HH:mm" />
                </h:inputText>
4 respostas

Adauto, você já confirmou no banco se as datas estão sendo salvas corretamente?

Posta a classe Livro pra gente dar uma olhada.

package br.com.caelum.livraria.modelo;

import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.ManyToMany;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
public class Livro {

    @Id
    @GeneratedValue
    private Integer id;

    private String titulo;
    private String isbn;
    private double preco;
    //Anotação para apenas gravar a data e hora
    @Temporal(TemporalType.TIMESTAMP)
    //Implementa a data atual
    private Calendar dataLancamento = Calendar.getInstance();

    @ManyToMany(fetch=FetchType.EAGER) // Sempre que carregar um livro, carregue os Autores.
    private List<Autor> autores = new ArrayList<Autor>();

    public List<Autor> getAutores() {
        return autores;
    }

    public void adicionaAutor(Autor autor) {
        this.autores.add(autor);
    }

    public Livro() {
    }

    public void removeAutor(Autor autor) {
        this.autores.remove(autor);        
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getTitulo() {
        return titulo;
    }

    public void setTitulo(String titulo) {
        this.titulo = titulo;
    }

    public String getIsbn() {
        return isbn;
    }

    public void setIsbn(String isbn) {
        this.isbn = isbn;
    }

    public double getPreco() {
        return preco;
    }

    public void setPreco(double preco) {
        this.preco = preco;
    }

    public Calendar getDataLancamento() {
        return dataLancamento;
    }

    public void setDataLancamento(Calendar dataLancamento) {
        this.dataLancamento = dataLancamento;
    }

}
solução!

Resolvi, o banco estava errado. Obrigado!

O meu também está assim. O que tem que ser mudado no banco? Tem que mudar o tipo da coluna? Por que isso não foi dito no exercício??

Também já consertei o meu. Mudei o tipo da coluna no MySql para DATETIME. Mas ainda acho que isso deveria estar explícito no exercício...

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software