Hibernate: генератор объединенных данных с AbstractRoutingDataSourceJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Hibernate: генератор объединенных данных с AbstractRoutingDataSource

Сообщение Anonymous »

Можно ли использовать алгоритм пула Hibernate в веб-приложении Spring Boot, где используется AbstractRoutingDataSource, не сталкиваясь с конфликтами идентификаторов?
Веб-приложение использует HTTP-заголовок, чтобы определить, какой источник данных следует использовать.

Оба источника данных имеют одинаковые таблицы/последовательности.
Мы столкнулись с исключением ConstraintViolationException тот Столбец ID при вставке в одну из таблиц.
Конфигурация объекта Hibernate выглядит следующим образом:

Код: Выделить всё

@Id
@SequenceGenerator(name = "SEQ_ENTITY_GEN", sequenceName = "SEQ_ENTITY", allocationSize = 100)
@GeneratedValue(generator = "SEQ_ENTITY_GEN")
@Column(name = "ID")
private Long id;
< /code>
При анализе проблемы это похоже на то, что Hibernate использовал некоторые значения кэшированных последовательности из источника данных A, при вставке некоторых записей в источник данных b. < /p>
< P> Вот что я думаю < /em>, произошло:

До вставки в источник данных B, вставка произошла в источнике данных A.

Hibernate не использовал все извлеченные идентификаторы и оставались в кэше. Источник данных b. < /p>
Это предположение правильно? Являются ли последовательности кэшировать «глобально» даже при использовании реализации AbstractingDatasource 
? Если так, может ли эта проблема быть решена каким -то образом, не отключая кэширование?

Подробнее здесь: https://stackoverflow.com/questions/793 ... datasource
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»