Thread: How to properly convert PostgreSQL timestamp to Java xsd:dateTime
PostgreSQL 9.5.4
Java 1.8
JDBC driver postgresql-9.4.1208.jar
Issue:
I need to map a PostgreSQL timestamp to a field in a Java bean. The Java bean was generated using standard XSD with the element type of xsd:dateTime. The Class type Java is assigning to this field in the Bean class is XMLGregorianCalendar.
Question:
I don’t know the proper way to “get” the value from the result set and the populate the Java bean. Your assistants would be very helpful.
Process I have tried:
In my Java XSD I have an element defined within a complexType:
<xsd:element name="startTimestamp" type="xsd:dateTime" minOccurs="0" />
I next generate the bean. It generates this code in Java for the above field:
protected XMLGregorianCalendar startTimestamp;
public XMLGregorianCalendar getStartTimestamp()
{
return startTimestamp;
}
public void setStartTimestamp(XMLGregorianCalendar value)
{
this.startTimestamp = value;
}
In PostgrSQL I have this column in table_a:
start_timestamp timestamp with time zone DEFAULT now(),
I then select the data from the database in Java:
String sqlStatement = “select start_timestamp from table_a”;
…
resultObject.setStartTimestamp(resultSet.getTimestamp("start_timestamp");
I get this error:
The method setStartTimestamp(XMLGregorianCalendar) in the type MyObject is not applicable for the arguments (Timestamp)
Thanks,
Lance