網上有很多例子描述瞭如何使用Hibernate調用存儲過程,但是在使用Spring時,圖片會發生一些變化。用Hibernate和Spring調用存儲過程
我在MySQL的存儲過程,我想打電話: 在SQL我需要編寫如下:
CALL inrange(32.342324,32.234234);
It returns a row with the following: `{INT},{INT},{FLOAT}`
藉助於Spring,我使用執行休眠操作HibernateTemplate
方式,我知道,有些人不喜歡它,但這是項目開始的時候的樣子,我並不急於改變它,也許在將來...
目前,我有以下代碼Java,它試圖調用該過程:
List<Object[]> resultset = hibernateTemplate
.findByNamedQuery("inrange",
person.getAddress().getLatitude(),
person.getAddress().getLongitude());
當我運行它,我得到以下休眠例外:
org.springframework.orm.hibernate3.HibernateSystemException:
Named query not known: inrange;
我想,這是二人發生的事實,我沒有休眠聲明存儲過程。 我的問題是:
- 我該如何申報?
- 有沒有在Spring的應用程序上下文文件中聲明它的特殊方法?
Hibernatespatial看起來非常酷,但是我使用的是mySQL,它出現在那裏該數據庫不支持大多數功能,特別是距離功能...... – stdcall
實際上,每個DB都提供了自己的功能/功能,您可能也會爲該項目做出貢獻,以便它也可以與mySQL一起使用。祝你好運 –