Свойства доступа к данным

jmix.data.number-id-cache-size

Когда с помощью метода Metadata.create() в памяти создается экземпляр сущности с идентификатором типа Integer или Long, аннотированным @JmixGeneratedValue, значение идентификатора сразу же присваивается этой сущности. Значение получается из механизма генерации последовательностей, который получает следующий идентификатор из базы данных. Чтобы уменьшить количество вызовов базы данных, инкремент последовательности устанавливается по умолчанию в 100, что означает, что фреймворк за один вызов получает сразу некоторый диапазон идентификаторов. Таким образом, он "кэширует" этот диапазон и выдает идентификаторы, не обращаясь к базе данных для получения следующего значения, пока не будет использован весь диапазон.

Данное свойство определяет инкремент последовательности и соответствующий размер кэшируемого в памяти диапазона.

Если вы изменяете значение этого свойства, когда в базе данных уже есть некоторые сущности, пересоздайте также все имеющиеся последовательности с новым инкрементом (который должен быть равен jmix.data.number-id-cache-size) и начальными значениями, соответствующими максимальным значениям имеющихся идентификаторов.

Если вы используете те же самые последовательности для создания сущностей в хранимых процедурах, настоятельно рекомендуется отключить кэширование, установив значение данного свойства в 0 и пересоздав последовательности с инкрементом 1.

Значение по умолчанию: 100

jmix.data.unique-constraint-violation-pattern

Регулярное выражение, которое используется механизмом обработки нарушений уникальности для определения того, что исключение вызвано нарушением уникального ограничения в базе данных. Имя ограничения будет получено из первой непустой группы выражения. Например:

jmix.data.unique-constraint-violation-pattern = ERROR: duplicate key value violates unique constraint "(.+)"

Это свойство позволяет распознавать ошибки нарушения уникальных ограничений для любой версии и локали СУБД.

jmix.data.use-entity-data-store-for-id-sequence

Если данное свойство установлено в true, то последовательности для генерации идентификаторов сущностей типа Integer или Long, помеченных аннотацией @JmixGeneratedValue, создаются в хранилище данных, которому принадлежит сущность. В противном случае, они создаются в главном хранилище данных.

Значение по умолчанию: false

jmix.data.use-read-only-transaction-for-load

Указывает, что все методы загрузки DataManager должны использовать read-only транзакции.

Значение по умолчанию: true

jmix.eclipselink.query-cache-enabled

Если свойство установлено в false, то кэш запросов полностью отключается для всех методов независимо от их параметров и аннотаций.

Значение по умолчанию: true