/ JDBC - java, database, postgresql, jdbc, date-range के माध्यम से PostgreSQL तालिका में "daterange" फ़ील्ड मान डालें

जेडीबीसी - जावा, डेटाबेस, पोस्टग्रेस्क्ल, जेडीबीसी, डेट-रेंज के माध्यम से PostgreSQL तालिका में "daterange" फ़ील्ड मान डालें

मेरे पास PostgreSQL (9.3) में एक टेबल है तिथि सीमा क्षेत्र के जैसा।

मैं जेडडीबीसी के साथ स्ट्रिंग की तरह इस क्षेत्र का चयन कर सकता हूं, लेकिन मैं इसे किसी तालिका में सम्मिलित नहीं कर सकता।

मैंने क्या कोशिश की है:

PreparedStatement stm = conn.prepareStatement("insert into mytable (my_daterange_field) values (?)");
stm.setString(1, "[2014-01-02,2014-01-04]");
int i = stm.executeUpdate();

और मुझे मिला:

Exception in thread "main" org.postgresql.util.PSQLException: ERROR: column "my_daterange_field" is of type daterange but expression is of type character varying
Hint: You will need to rewrite or cast the expression.
Position: 168

क्या किसी के पास डाटरेंज डालने का कोई हल है? क्या stm.setXXX का उपयोग करना चाहिए? या हो सकता है कि मैं ऐसा नहीं कर सकता क्योंकि JDBC ड्राइवर के पास daterange समर्थन नहीं है ... शायद कोई तीसरा उपाय है?

धन्यवाद।

अनुलेख

मेरा PostgreSQL JDBC ड्राइवर:

    <dependency>
<groupId>postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>8.4-701.jdbc4</version>
</dependency>

उत्तर:

जवाब के लिए 8 № 1

उपयोग:

insert into mytable (my_daterange_field) values (?::daterange)