私はUsing dynamic query in Liferayを参照し、MySQL 5.5を使用していますが、複数のエンティティを含むカスタムクエリの代わりに、ストアドプロシージャを呼び出す必要があります。 私たちは、カスタムクエリを含む、default.xmlのでliferayでストアドプロシージャを呼び出す方法は?
delimiter //
Create Procedure proc_check (OUT count INT)
begin
select count(*) into count from lg_office ;
end//
サンプルプロシージャを作成している、私たちはそれぞれのファインダー方式で
<sql id="de.uhh.l2g.plugins.service.persistence.ProducerFinder.findOfficeCount">
<![CDATA[
Call proc_check(@output)
]]>
</sql>
を使用していた、我々は、ストアドプロシージャを呼び出すには、以下のスニペットを使用しました開始と終了の両方で-1を渡します。
String sql = CustomSQLUtil.get(FIND_OFFICE_COUNT);
SQLQuery q = session.createSQLQuery(sql);
QueryPos qPos = QueryPos.getInstance(q);
//qPos.add(lectureseriesId);
List <Integer> sl = (List<Integer>) QueryUtil.list(q, getDialect(), begin, end);
return sl;
QueryUtilでは、コールを実行するための他の適切なメソッドが見つかりませんでした。 ポストは、この私たちは、以下のエラー
ERROR [RuntimePageImpl-5][JDBCExceptionReporter:82] ResultSet is from UPDATE. No Data.
このアプローチは欠けている何かで正しいかどう、同じことを達成するためのアプローチを提案してくださいに取得します。
この方法のように、JDBC APIを使用することができますあなたがcallaストアドプロシージャを必要としているのを聞いて、カウント操作を行うのが奇妙です。これが正しい方法だと確信していますか? –
@DanieleBaggioこれは実際のテストでは機能していないためです。 –