ResultSet.getObject(..., LocalTime.class) not working with Postgrestimetz type
От | Thomas Kellerer |
---|---|
Тема | ResultSet.getObject(..., LocalTime.class) not working with Postgrestimetz type |
Дата | |
Msg-id | q89m8j$63i8$1@blaine.gmane.org обсуждение исходный текст |
Ответы |
Re: ResultSet.getObject(..., LocalTime.class) not working withPostgres timetz type
|
Список | pgsql-jdbc |
Retrieving the value of a timetz column fails when using getObject(, LocalTime.class) Consider the following code: Connection con = DriverManager.getConnection(...); Statement stmt = con.createStatement(); ResultSet rs = stmt.executeQuery("select current_time"); rs.next(); LocalTime lt = rs.getObject(1, LocalTime.class); The above fails with: org.postgresql.util.PSQLException: Bad value for type timestamp/date/time: {1} at org.postgresql.jdbc.TimestampUtils.toLocalTime(TimestampUtils.java:433) at org.postgresql.jdbc.PgResultSet.getLocalTime(PgResultSet.java:563) at org.postgresql.jdbc.PgResultSet.getObject(PgResultSet.java:3391) at TestLocalTime.main(TestLocalTime.java:23) Caused by: java.time.format.DateTimeParseException: Text '09:48:19.747249+02' could not be parsed, unparsed text found atindex 15 at java.time.format.DateTimeFormatter.parseResolved0(DateTimeFormatter.java:1952) at java.time.format.DateTimeFormatter.parse(DateTimeFormatter.java:1851) at java.time.LocalTime.parse(LocalTime.java:441) at java.time.LocalTime.parse(LocalTime.java:426) at org.postgresql.jdbc.TimestampUtils.toLocalTime(TimestampUtils.java:430) getObject(1, OffsetTime.class) fails with "conversion to class java.time.OffsetTime from 92 not supported" I am not sure if this is the same as: https://github.com/pgjdbc/pgjdbc/issues/1048 If it's not the same root cause, should I create an issue? Using "select localtime" instead, works just fine Regards Thomas
В списке pgsql-jdbc по дате отправления: