I have an entity with a field 'openTime' that is a MySQL TIME datatype. Hibernate has generated this as an entity field as such:
Code:
@Temporal(TemporalType.TIME)
@Column(name = "OPEN_TIME", length = 0)
public Date getOpenTime() {
return this.openTime;
}
I need to allow a user to enter a time on the page. Instead of allowing free text I am using an h:selectOneMenu and a list of times on the half hour (eg. "00:00", "00:30", etc). I can select a time from the list and it will save it in the database. However when I go to edit the record, the select list is not able to select the value that was already saved (ie. set one of the OPTIONs to selected="true").
I ran this through the debugger and the problem is that the com.sun.facces.renderkit.html_basic.MenuRenderer cannot convert from java.util.Date to java.sql.Time. The error produced (and swallowed on line 537) is:
Code:
Cannot convert 1/1/70 7:00 AM of type class java.util.Date to class java.sql.Time
What is my best option here? Should I go for a custom converter (I haven't done one yet) rather than s:convertDateTime? Or is there an Hibernate option I can set on the entity definition (maybe 'columnDefinition' on @Column)?
Any advice is very much appreciated.
Thanks,
Damian.