2016-06-01 6 views
0

私は、ハイバネートが生成する接続ごとにPLSQLプロシージャを呼び出す必要があります。 バックグラウンドは、データベースサーバーが特定のPLSQL呼び出しによって既に初期化されたセッションでの操作のみを許可するということです。Hibernate:接続ごとにPLSQLプロシージャを呼び出す

私の目標は、新しい接続を聞いてサーバー上でプロシージャを呼び出すためにどこに登録すればいいのですか?

よろしくお願いいたします。

+0

ようこそ!より良い回答を得るには、Hibernate用のデータソースを作成するために使用している技術についての情報を提供してください。たとえば、Tomcatのデータソース設定では、initSQLを使用してこれを行うことができます。https://tomcat.apache.org/tomcat-7.0-doc/jdbc-pool.html#Tomcat_JDBC_Enhanced_Attributes – Brian

答えて

0

SessionFactoryを挿入する場合は、SessionManagerを自分で作成して管理する場合は.getCurrentSession()を使用します。ユーザー.createSession()(これはそう呼ばれると思います)。その後、.createNativeQuery()とexecute()を使って手続きを呼び出します。

+0

こんにちは、あなたのanwserに感謝します。私は、JPA環境のサーバー上にいることに言及することを忘れています。だから私はPersistence.createEntityManagerFactory( "db")とentityManagerFactory.createEntityManager()のようなものしか持っていません。この環境のためのアイデア? – Johannes

+0

'EntityManagerFactory emFactory = Persistence.createEntityManagerFactory(" db ");ここでは、persistent.xmlにはまた、 でなければなりません// .createSession()の代わりに ' EntityManager manager = emFactory.createEntityManager( ); ' EntityManagerで動作するのはセッションと少し異なりますが、javadocを使用してください。しかし、これは管理者を手動で制御するためのものです。すべての作業が終わった後で 'manager.close();'を実行する必要があります。 – JollyRoger

関連する問題