初めて私は次のように休止状態でプロシージャを呼び出そうとしています-
Session session = HibernateUtil.getFirstFactory().getCurrentSession();
session.beginTransaction();
Query q = getSession().getNamedQuery("select");
q.setInteger("locationid", locId);
cDbInsts = (List<SpCustsitesettings>) q.list();
私のhbmファイルSpCustsitesettings.hbm.xmlは-
<hibernate-mapping>
<class name="glb.chatmeter.db.SpCustsitesettings">
<id name="cmcustLocId" type="int">
<column name="CMCustLocID"/>
</id>
<property name="cpid" type="string">
<column name="CPID">
</column>
</property>
</class>
<sql-query name="select" callable="true">
<return alias="select" class="glb.chatmeter.db.SpCustsitesettings">
<return-property name="cmcustLocId" column="CMCustLocID" />
<return-property name="cpid" column="CPID" />
</return>
<query-param name="locationid" type="int" />
{call select(:locationid)}
</sql-query>
そして私はこれを次のような設定ファイルに追加しました-
<mapping resource="xml/SpCustsitesettings.hbm.xml"/>
しかし、例外を表示してクエリを実行しようとすると-
java.lang.StackOverflowError
at gnu.xml.pipeline.ValidationConsumer$ChildrenRecognizer.patchNext(ValidationConsumer.java:1570)
at gnu.xml.pipeline.ValidationConsumer$ChildrenRecognizer.patchNext(ValidationConsumer.java:1591)
at gnu.xml.pipeline.ValidationConsumer$ChildrenRecognizer.patchNext(ValidationConsumer.java:1580)
at gnu.xml.pipeline.ValidationConsumer$ChildrenRecognizer.patchNext(ValidationConsumer.java:1580)
at gnu.xml.pipeline.ValidationConsumer$ChildrenRecognizer.patchNext(ValidationConsumer.java:1591)
.............................................................................
そして、プログラムはオフになります。これが私の手順です-
CREATE DEFINER=`root`@`%` PROCEDURE `select`(IN locationid INT)
BEGIN
SELECT cmcustLocId, cpid FROM `custsitesettings` WHERE `CMCustLocID` = locationid;
END
私がフォローしていない問題は誰でも私を助けることができます。