eu estou usando o mysql e uma das minhas tabelas tem alguns campos timestamp, eu criei o banco e todo o mapeamento foi feito automaticamente pelo netbeans, mas qdo vou fazer uma consulta acontece o erro:
Internal Exception: java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
Error Code: 0
Call: SELECT id, data_cadastro, data_fim, data_inicio, descricao, pontos, previsao_termino, status, titulo, projeto FROM tarefa
Exception in thread "AWT-EventQueue-0" Local Exception Stack:
Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.0.v20110604-r9504): org.eclipse.persistence.exceptions.DatabaseException
Query: ReadAllQuery(name="Tarefa.findAll" referenceClass=Tarefa sql="SELECT id, data_cadastro, data_fim, data_inicio, descricao, pontos, previsao_termino, status, titulo, projeto FROM tarefa")
Internal Exception: java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp
Error Code: 0
Call: SELECT id, data_cadastro, data_fim, data_inicio, descricao, pontos, previsao_termino, status, titulo, projeto FROM tarefa
Query: ReadAllQuery(name="Tarefa.findAll" referenceClass=Tarefa sql="SELECT id, data_cadastro, data_fim, data_inicio, descricao, pontos, previsao_termino, status, titulo, projeto FROM tarefa")
at org.eclipse.persistence.exceptions.DatabaseException.sqlException(DatabaseException.java:324)
eu acho q o erro está acontecendo porque ele está tentando inserir o valor 0000-00-00 00:00:00 em um campo Date, q n suporta hora, eu ja tentei mudar o campo pra outros tipos de dados e tb n deu certo, pelo que eu consegui achar nas minhas pesquisas o campo Date ta certo, alguem sabe o que está acontecendo?
os atributos da minha entidade:
package entity;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.*;
import javax.xml.bind.annotation.XmlRootElement;
@Entity
@Table(name = "tarefa")
@XmlRootElement
@NamedQueries({
@NamedQuery(name = "Tarefa.findAll", query = "SELECT t FROM Tarefa t"),
@NamedQuery(name = "Tarefa.findById", query = "SELECT t FROM Tarefa t WHERE t.id = :id"),
@NamedQuery(name = "Tarefa.findByDescricao", query = "SELECT t FROM Tarefa t WHERE t.descricao = :descricao"),
@NamedQuery(name = "Tarefa.findByTitulo", query = "SELECT t FROM Tarefa t WHERE t.titulo = :titulo"),
@NamedQuery(name = "Tarefa.findManyByTitulo", query = "SELECT t FROM Tarefa t WHERE t.titulo like :titulo order by t.titulo"),
@NamedQuery(name = "Tarefa.findByDataCadastro", query = "SELECT t FROM Tarefa t WHERE t.dataCadastro = :dataCadastro"),
@NamedQuery(name = "Tarefa.findByDataInicio", query = "SELECT t FROM Tarefa t WHERE t.dataInicio = :dataInicio"),
@NamedQuery(name = "Tarefa.findByPrevisaoTermino", query = "SELECT t FROM Tarefa t WHERE t.previsaoTermino = :previsaoTermino"),
@NamedQuery(name = "Tarefa.findByDataFim", query = "SELECT t FROM Tarefa t WHERE t.dataFim = :dataFim"),
@NamedQuery(name = "Tarefa.findByPontos", query = "SELECT t FROM Tarefa t WHERE t.pontos = :pontos"),
@NamedQuery(name = "Tarefa.findByStatus", query = "SELECT t FROM Tarefa t WHERE t.status = :status")})
public class Tarefa implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "id")
private Integer id;
@Column(name = "descricao")
private String descricao;
@Column(name = "titulo")
private String titulo;
@Column(name = "data_cadastro")
@Temporal(TemporalType.TIMESTAMP)
private Date dataCadastro;
@Column(name = "data_inicio")
@Temporal(TemporalType.TIMESTAMP)
private Date dataInicio;
@Column(name = "previsao_termino")
@Temporal(TemporalType.TIMESTAMP)
private Date previsaoTermino;
@Column(name = "data_fim")
@Temporal(TemporalType.TIMESTAMP)
private Date dataFim;
@Column(name = "pontos")
private Integer pontos;
@Basic(optional = false)
@Column(name = "status")
private String status;
@JoinColumn(name = "projeto", referencedColumnName = "id")
@ManyToOne
private Projeto projeto;