Tratamento de datas utilizando criteria do hibernate

2 respostas
dahenz

Boa tarde!

Estou utilizando criteria para listar informações de uma tabela em banco mysql. O campo na tabela é do tipo DATE, no bean foi definido como java.util.Date, mas, na hora de executar a busca utilizando o criteria me apresenta o erro:

java.sql.SQLException: Value '0000-00-00' can not be represented as java.sql.Date

Seguem o bean e a consulta:

@Entity 
@Table(name="regras")
public class RegraBean {

	@Id
	@GeneratedValue
	private Long id;
	private String descricao;
	@Temporal (TemporalType.DATE)
	private Date datacadastro;
	@Temporal (TemporalType.DATE)
	private Date dataultimaalteracao;
	@ManyToMany
	@JoinTable(name="empresas_regra",
			   joinColumns={@JoinColumn(name="regra")}, 
			   inverseJoinColumns={@JoinColumn(name="empresa")})
	private List<EmpresaBean> empresas;
	@ManyToMany
	@JoinTable(name="imoveis_regra",
			   joinColumns={@JoinColumn(name="regra")}, 
			   inverseJoinColumns={@JoinColumn(name="imovel")})	
	private List<ImovelBean> imoveis;
	@ManyToMany
	@JoinTable(name="cargos_regra",
			   joinColumns={@JoinColumn(name="regra")}, 
			   inverseJoinColumns={@JoinColumn(name="cargo")})		
	private List<CargoBean> cargos;

       getters and setters......

Consulta:

public List<RegraBean> listarRegras() throws ClassNotFoundException, SQLException{
		
		this.session = MySQLDAOFactory.getSession(false);
		List<RegraBean> regras = this.session.createCriteria(RegraBean.class).list();
		
		this.session.close();
		
		return regras;
		
	}

Como resolvo esse pequeno problema????

Obrigado....

2 Respostas

dahenz

Pelo visto o criteria não é a melhor solução… Devo utilizar JPA normal com JDBC quando for trabalhar com datas???

dahenz

Alguém já ouviu falar do Joda???

Um framework que faz conversões de datas utilizando annotations…

Obrigado…

Criado 27 de abril de 2009
Ultima resposta 28 de abr. de 2009
Respostas 2
Participantes 1