网上有很多例子描述了如何使用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一起使用。祝你好运 –