[RESOLVIDO]Consusão com Cannot format given Object as a Date

11 respostas
manolo

Bom dia pessoal!

Galera, antes de mais nada gostaria de dizer que já procurei bastante coisa sobre este meu problema, mas como eu sou iniciante essa parte de formatação e gravação de datas está sendo um verdadeiro martírio para mim.

A situação é simples e a solução deve ser mais simples ainda, gostaria (se possivel), que alguem me explicasse e me ajudasse a chegar em uma solução definitiva do problema que eu estou enfrentando no momento.

Bem, vamos lá!

Estou usando o MySQL e na minha tabela eu tenho dois campos que recenem o tipo DATE.

Estou usando o primefaces, na minha index.xhtml eu coloquei estes campos da seguinte forma:

<h:outputLabel id="startCalendarLb" value="*Data Inicial:" for="startCalendarID" style="float: right;"/>
				<p:calendar  id="startCalendarID" required="true" pattern="dd/MM/yyyy" requiredMessage="Campo [Data Inicial] é obrigatório."
				value="hotelManagedBean.reserva.dataEntrada"/>
	
				
				<h:outputLabel id="endCalendarLb" value="*Data Final:" for="finalCalendarID" style="float: right;"/>
				<p:calendar  id="finalCalendarID" required="true" pattern="dd/MM/yyyy" requiredMessage="Campo [Data Final] é obrigatório."
				value="hotelManagedBean.reserva.dataSaida"/>

Mas não sei o que está ocorrendo que fica persistindo essa falha:

javax.servlet.ServletException: Cannot format given Object as a Date
	javax.faces.webapp.FacesServlet.service(FacesServlet.java:321)
	filters.JPAFilter.doFilter(JPAFilter.java:27)

Não sei o que mais eu posso fazer, digo se eu já estou usando um componente de calendário do primefaces e estou usando um pattern por que essa falha de conversão fica sendo exibida?

Fico grato a todos pela ajuda, espero entender bem o tema para futuramente ajudar outras pessoas com a mesma duvida.

Abraço a todos!

11 Respostas

Rodrigo_Sasaki

e qual o tipo dos objetos que você setou no value?

manolo

[b]Ele acessa direto minha entidade Rodrigo Sasaki como Date

Segue como eu fiz abaixo:[/b]

public class Reserva implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Basic(optional = false) @Column(name = "codReserva") private Integer codReserva; @Column(name = "data_entrada") @Temporal(TemporalType.DATE) private Date dataEntrada; @Column(name = "data_saida") @Temporal(TemporalType.DATE) private Date dataSaida; @Column(name = "pagamento", length = 45) private String pagamento; @Column(name = "status", length = 45) private String status; @JoinColumn(name = "idVisitante", referencedColumnName = "idVisitante") @ManyToOne private Visitante idVisitante; @JoinColumn(name = "idQuarto", referencedColumnName = "idQuarto") @ManyToOne private Quarto idQuarto;

Agradeço sua resposta.

Rodrigo_Sasaki

java.util.Date ?

manolo

Sim Rodrigo!

Rodrigo_Sasaki

Ah, você não setou o value no formato de EL.

manolo

Nossa Rodrigo… Tem horas que me dá vontade de dar um tiro na minha cabeça!!!

Muito Obrigado pela observação!

Abraço

C

manolo:
Nossa Rodrigo… Tem horas que me dá vontade de dar um tiro na minha cabeça!!!

Muito Obrigado pela observação!

Abraço

Olá Rodrigo Sasaki, e como poderia fazer isso? pode postar um exemplo?

Rodrigo_Sasaki

Exemplo do que? :slight_smile:

C

Exemplo do que? :)

Ola, estou com o mesmo problema, estou recebendo a Exception: Cannot format given Object as a Date.

Gostaria de saber como seto o meu value no formato de EL.

Não entendi muito bem isso. Poderia me ajudar?

C

[code]
Rodrigo Sasaki, Na minha classe Bean estou formatando a data que esta no banco.

SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy HH:mm");

medicos.setDataConsulta(formato.parse(rs.getString("DATACONSULTA")));

A minha pagina XHTML esta desta forma.


required="true" requiredMessage="Preencha o Campo Data" effect="slideDown" id="dataCons" size="18"
style="min-width:100px; max-width:200px; font-size:11px;"/>

Varei a noite tentando resolver este problema e minha exception mudou, agora estou recebendo o seguinte erro. Unparseable date: "2013-01-11 05:00:00.0"

[code]

Rodrigo_Sasaki

O seu já está no formato de EL que é assim: #{}

Verifique se a data que você recebe é compatível com o formato que você especifica, e verifique também se o problema de conversão é na hora de montar o objeto Date, ou na hora de mostrá-lo no Calendar

Criado 28 de novembro de 2012
Ultima resposta 1 de dez. de 2013
Respostas 11
Participantes 3