Hi, I have an entity with an attribute whose value is converted by means of an attribute converter. The converter operations are not symmetric, i.e. it's not guaranteed that
value.equals( convertToEntityAttribute( convertToDatabaseColumn( value ) ) ) is true. Question 1: Is such converter valid, or is it a requirement that its operations are symmetric? If this converter is valid, then I am curious whether the following optimization could be applied. Currently, the dirty checking is based on equality comparison of the attribute value. During persist a deep copy of the entity attribute array is made, which does the forth-and-back conversion above. If the converter isn't symmetric, this may yield a value which is different from the one in the entity attribute. Then at dirty check, the entity attribute is compared to that value resulting from deep-copying, causing the property to be considered dirty, although the value to be stored in the database actually is the same. Subsequently, an UPDATE will be issued which contains the same column value as the previous INSERT. So, question 2: Would it be feasible to do the dirty check based on the converted value? Thanks, --Gunnar _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev