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

[b]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:[/b]

[code] <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"/>[/code]

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)

[b]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![/b]

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

[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.

java.util.Date ?

Sim Rodrigo!

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

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

Muito Obrigado pela observação!

Abraço

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

Muito Obrigado pela observação!

Abraço[/quote]

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

Exemplo do que? :slight_smile:

Exemplo do que? :)[/quote]

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?

[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.

<p:column>
<p:calendar pattern=“dd/MM/yyyy HH:mm” locale=“pt_BR” value="#{medicoController.medicoSelecionado.dataConsulta}"
required=“true” requiredMessage=“Preencha o Campo Data” effect=“slideDown” id=“dataCons” size=“18”
style=“min-width:100px; max-width:200px; font-size:11px;”/>
</p:column>

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]

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