Как динамически установить SequenceGenerator allocSize? - PullRequest
0 голосов
/ 09 октября 2019

Я должен использовать разные значения для allocSize для одной последовательности, в зависимости от того, где он вызывается (из пакета или из обычного процесса).

В настоящее время я делаю это, изменяя исходный код,перестройка и запуск процесса, который далек от совершенства и может привести к проблемам.

Я пытался использовать 2 объекта для одной и той же таблицы только с другим @SequenceGenerator, но JPA / Hibernate это не совсем нравится:

org.hibernate.HibernateException: Multiple references to database sequence [my_sequence] were encountered attempting to set conflicting values for 'increment size'.  Found [100] and [1]

Я пытался переписать аннотацию во время выполнения, но, похоже, она кэшируется даже до того, как создается первая сущность: перезапись работает хорошо (allocSize имеет необходимое значение перед первым вызовом хранилища). ), но Hibernate продолжает использовать значение, которое было установлено при запуске JVM.

Я думаю, что это может сработать, создав и используя собственный SequenceStyleGenerator (или получив его от объекта), но я понятия не имею, как это сделать.

У меня заканчиваются идеи о том, как решить эту проблему, поэтому любые советы работаютНе за что.

Спасибо, Лочека.

PS: мы используем JPA 2.1.4 с Hibernate 5.3.7 в Spring Boot 2.1.2

...