[ https://issues.apache.org/jira/browse/CAY-2804?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Nikita Timofeev updated CAY-2804: --------------------------------- Fix Version/s: (was: 4.2) > LocalTimeValueType potential loss of precision > ---------------------------------------------- > > Key: CAY-2804 > URL: https://issues.apache.org/jira/browse/CAY-2804 > Project: Cayenne > Issue Type: Bug > Affects Versions: 4.2.RC2 > Reporter: Andrus Adamchik > Assignee: Nikita Timofeev > Priority: Minor > Fix For: 5.0.M1 > > > I just ran into a problem (outside Cayenne) when conversion between > "java.sql.Time" and "java.time.LocalTime" in either direction results in the > loss of precision when based on the standard API (Time.valueOf(LocalTime) and > Time.toLocalTime()). Everything is rounded to whole seconds. > I think our LocalTimeValueType is also affected by this problem. > Below is how I addressed it in Agrest. The use of "ZoneId.systemDefault()" in > that implementation is somewhat questionable, but seems compatible with > Time.toLocalTime() / Time.valueOf(LocalTime). > * > https://github.com/agrestio/agrest/blob/master/agrest-engine/src/main/java/io/agrest/converter/jsonvalue/SqlTimeConverter.java > * > https://github.com/agrestio/agrest/blob/master/agrest-engine/src/main/java/io/agrest/converter/valuestring/SqlTimeConverter.java > Interestingly, no other conversions (like Timestamp to LocalDateTime) are > affected. Their JDK versions are working properly. -- This message was sent by Atlassian Jira (v8.20.10#820010)