Hi Christopher, > a.getStringAttributes().get("key").setValue("new value"));
This line is the culprit (or JPA as a whole is). It is a conceptual problem with JPA, in general. JPA is managing the field Map<String, StringAttribute> stringAttributes, but it can not understand that a value in the Map has been directly changed underneath. One way will be to rewrite it as: a.getStringAttributes().put("key", new StringAttribute("new value")); This way a JPA runtime (which has proxied the Map to track changes) will become aware that the Map is dirty. ----- Pinaki Poddar Chair, Apache OpenJPA Project -- View this message in context: http://openjpa.208410.n2.nabble.com/Auditing-Tests-and-maps-tp7067224p7115915.html Sent from the OpenJPA Users mailing list archive at Nabble.com.