2017-06-09 1 views
0

JPAを使用するSpringブートアプリケーションでmysqlで構築されたストアドプロシージャを呼び出そうとしています。私のストアドプロシージャは、テーブルの組み合わせからデータをフェッチするときに単一のモデルに含まれない結果を返します。 "call"でこれを行うことはできますが、JPAの方法ではないと思います。あなたがそれを行う最良の方法は何かを教えてください。Spring起動時にJPAを使用してStoredProcedureを呼び出す

+0

JPAには、そのようなことを呼び出すための独自のストアドプロシージャクエリAPIがあり、何をしようとしているのかわかりません。 http://www.datanucleus.org/products/accessplatform_5_1/jpa/query.html#stored_procedures –

答えて

0

単純なJPAを使用している場合は、ネイティブ・クエリー・コールを行う必要があります。以下のようなもの。

Query q = em.createNativeQuery("select my_store_pro(?, ?)"); 
List<Object[]> results = q.getResultList(); 

for (Object[] a : results) { 
    System.out.println("result " + a[0] + " " + a[1]); 
} 

春のデータリポジトリを使用している場合は、次のようなものが必要です。

@Query(nativeQuery = true, value = "select my_store_pro(?, ?)") 
Date callMyStoreProc(int val1, int val2); 
関連する問題