Hibernate жалуется,
Вызвано:
java.lang.UnsupportedOperationException: Не удается записать только для чтения
объект в
org.hibernate.cache.ReadOnlyCache.lock (ReadOnlyCache.java:68)
для класса, который имеет @Cache(usage = CacheConcurrencyStrategy.READ_ONLY)
, но не изменен. Class A
имеет отношение many-to-many
с Class B
, определенным с помощью аннотации,
@ManyToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@MapKey(name = "abbreviation")
private Map<String, B> allBs;
Я создаю новый объект Class A
и связываю его с существующим объектом Class B
, но по неизвестной причине Hibernate пытается изменить версию и lastmodified
время Class B
.
Если я удаляю аннотацию read_only , она работает нормально, и безо всякой причины обновляется версия и дата последнего изменения B, кроме записи в присоединяемой таблице a_b
;
Это то, что делает Hibernate - записать B, даже если добавлена только новая ассоциация, а сам объект не изменен?