2017-01-13 9 views
1

У меня уже есть существующая база кода, где во время выполнения создаются схемы (например, db_1, db_2 ..).Как выбрать схему во время выполнения с помощью Hibernate?

Мы в настоящее время используют JdbcTemplate, используя, что его довольно легко добавлять схемы в родном SQL запросов некоторые вещи, как: -

sql = " Select * from "+schema+".user"; 
jdbcTemplate.query(sql, new UserMapper()); 

Теперь я хочу знать, как обеспечить схемы в спящий режим во время выполнения, как Я сделал с jdbcTemplate?

Какой URL-адрес подключения я должен предоставить в файле hibernate.cfg.xml, чтобы он не подключался к единой общей базе данных схемы?

Любые предложения будут полезны.

P.S: Я новичок в спящем режиме (Так что я бы пропустил что-то глупое)

+0

Вы пробовали спящий режим HibernateInterceptor? – Boldbayar

+0

Возможно, это может вам помочь, стоит прочитать https://dzone.com/articles/hibernate-dynamic-table-routin – Boldbayar

ответ

3

Я знаю два вариантов:

  1. использовать нативный SQL запрос связывание результатов для JPA сущностей. Подробности here.

  2. Использование Hibernate с несколькими арендаторами. Подробности here и here.

Хотя я еще не пробовал.

+0

# 2 работал для меня –