2016-06-01 3 views
0

Мне нужно вызвать процедуру PLSQL для каждого подключения, которое создает спящий режим для меня. Предполагается, что наш сервер базы данных разрешает операции с сеансами, которые уже инициализированы определенным вызовом PLSQL.Спящий режим: вызов процедуры PLSQL для каждого соединения

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

С уважением, Йоханнес.

+0

Добро пожаловать в SO! Чтобы получить более качественные ответы, предоставьте информацию о том, какую технологию вы используете для создания источников данных для Hibernate. Например, конфигурация источника данных Tomcat позволяет использовать это с помощью initSQL: https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html#Tomcat_JDBC_Enhanced_Attributes – Brian

ответ

0

Если вы добавляете SessionFactory, используйте .getCurrentSession(), если вы сами создаете и управляете SessionManager - user .createSession() (я считаю, что это называется?). Затем используйте .createNativeQuery() и execute() для вызова процедуры.

+0

Привет, спасибо за ваш anwser. Я забываю упомянуть, что я на сервере в среде JPA. Поэтому у меня есть только что-то вроде Persistence.createEntityManagerFactory ("db") и entityManagerFactory.createEntityManager(). Любые идеи для этой среды? – Johannes

+0

'EntityManagerFactory emFactory = Persistence.createEntityManagerFactory (" db ");' // 'db' name здесь должно быть в persistence.xml также // тогда вместо .createSession() это: 'EntityManager manager = emFactory.createEntityManager (); ' Работа с EntityManager немного отличается от сеанса, используйте javadoc. Тем не менее, это для ручного управления менеджерами: вам нужно будет 'manager.close();' после того, как все сделано. – JollyRoger

Смежные вопросы