Eclipselink общий кеш и поля @Transient

Я использую аннотацию @Transient в моих полях сущностей. Как отключить кэширование значений переходных полей, чтобы каждая копия, извлеченная из кэша, имела значение по умолчанию. Теперь, когда один пользователь меняет переходное значение, другой пользователь может видеть его (когда он получает тот же класс из кэша)

1 ответ

Решение

Самое простое решение - добавить @InstantiationCopyPolicy к вашему классу.

На это также влияет переплетение (EclipseLink делает это только при включенном переплетении, в частности, "eclipselink.weaving.internal"="true").

Вы также можете очистить переходные поля с помощью postMerge/Clone DescriptorEvents.

Другие вопросы по тегам