Andrus Adamchik created CAY-2660: ------------------------------------ Summary: Zero padding of BigDecimals causes unneeded updates Key: CAY-2660 URL: https://issues.apache.org/jira/browse/CAY-2660 Project: Cayenne Issue Type: Bug Affects Versions: 4.2.M1, 4.1.RC2, 4.0.2 Reporter: Andrus Adamchik
Given a column mapping of "DECIMAL(N, M)" to Java BigDecimal, the following code causes an update where it shouldn't (as there are no changes) : {noformat} // assuming the column is "DECIMAL(12, 6)" BigDecimal bd = new BigDecimal("7890.1"); // save object o.setValue(bd); o.getObjectContext().commitChanges(); // refetch object - the result will be padded to DB scale - "7890.100000" BigDecimalEntity o2 = ObjectSelect.query(BigDecimalEntity.class).selectFirst(runtime.newContext()); o2.setValue(bd); // THIS COMMIT GENERATES AN "UPDATE" SQL, where it should have been a noop o2.getObjectContext().commitChanges(); {noformat} I have a PR with a fix (to be sent shortly), but it may require some discussion... -- This message was sent by Atlassian Jira (v8.3.4#803005)