I believe the quick fix for this is to set mutable to false on your read only class mappings:
Code:
<class .... mutable="false" ....>
Relevant Documentation:
http://www.hibernate.org/hib_docs/v3/re ... tion-class
However this will just be masking the problem more than anything else, hibernate will only do the update if it thinks the Object in the referenced table has changed. Usually this is the result of getters that don't return
exactly what was set on the corresponding setter.
Without knowing the details of your read only classes I can't really be more specific than that, but watch out for things like null strings changed to empty string (or vica-versa).