Повторное срабатывание слушателя

Добрый день.

Есть атрибут сущности с типом BigDecimal. В таблице редактируемая колонка с этим атрибутом. Например, было значение 1.00, я изменяю на 2. Срабатывает слушатель. Затем нажимаю Сохранить и слушатель срабатывает снова. В дебаге: старое значение - 2, новое - 2.00. Как решить эту проблему? Пробовал форматер и генерируемую колонку с textField . Результат одинаковый

После сохранения в экран возвращается сохраненная сущность с значениями, соответствующими БД. Скорее всего в БД у вас колонка объявлена с 2 знаками после запятой, поэтому значение BigDecimal в сохраненной сущности не то же самое, оно отличается по scale. Поэтому и срабатывает слушатель изменений.

Вы можете игнорировать разницу в scale в самом слушателе, сравнивая старое и новое значения через compareTo: event.getValue().compareTo(event.getPrevValue()) != 0.

1 симпатия