问一个Hibernate与SQL的问题!在Hibernate里调用sql语句,语句用了SQL的自定义函数

沙漠之骆驼 2008-05-12 03:42:57
在数据库mssql2000有自定义函数:

CREATE FUNCTION f_ConcatPartys(@org numeric,@date_from datetime,@date_to datetime)
RETURNS VARCHAR(8000)
AS
BEGIN
declare @sql varchar(8000)
set @sql= ''
select @sql=isnull(@sql+'、','')+t_name from [Table] where org_id = @org_id and date_f >= @date_from and date_t <= @date_to order by id
RETURN @sql
END



HQuery hquery=new HQuery();
String hsql="dbo.f_ConcatPartys("+org_id+",'"+date_from+"','"+date_to+"') from [Table] as a where a.date_f >='"+date_from+"' and a.date_t <= '"+date_to+"' and group by a.org_id";
hquery.setQueryString(hsql);
List _list=this.find(hquery);

报错:
net.sf.hibernate.QueryException: undefined alias: f_ConcatPartys [select dbo.f_ConcatPartys(98336778,'20080101','20080101') from ....

请问在hibernate里怎样调用sql的自定义函数
...全文
971 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
再见不同名 2010-11-16
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 kidfang 的回复:]

都用原生SQL,要HIB做什么?
很多人这么笑话HIB
[/Quote]

7 楼的大哥,我们总有一些复杂的语句用框架不好实现,这时候框架总要提供一些可以使用原生sql的方法吧
lwlmj840715 2009-09-20
  • 打赏
  • 举报
回复
HIB感觉很方便
只需要配些xml文件
就能做很多事
jdbc也不差
它们不冲突
wang110bin 2009-09-20
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 kidfang 的回复:]
别做梦了,你以为HIB能干什么.你可以获得翻译后的SQL,再想办法加进你的自定义函数,再用本地查询.
垃圾HIB
[/Quote]
凭你也配说这话?
erttre3 2009-06-11
  • 打赏
  • 举报
回复
关注一下!
jin_nth 2008-07-15
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 kidfang 的回复:]
都用原生SQL,要HIB做什么?
很多人这么笑话HIB
[/Quote]

跳开Hibernate 原生sql有缓存机制?
chinagenius_xhy 2008-07-14
  • 打赏
  • 举报
回复
session.createSQLQuery("......") 对 就它!
kidfang 2008-07-02
  • 打赏
  • 举报
回复
都用原生SQL,要HIB做什么?
很多人这么笑话HIB
night__cat 2008-07-02
  • 打赏
  • 举报
回复
SQLQuery
tiannet 2008-06-04
  • 打赏
  • 举报
回复
同意楼上,可以使用原生SQL,像一般的JDBC操作一样,
如:
SQLQuery sqlQuery = session.createSQLQuery("update t_users set true_name=? where user_id=?");
sqlQuery.setParameter(0, "管理员Native");
sqlQuery.setParameter(1, new Integer(1));
daiming13 2008-06-04
  • 打赏
  • 举报
回复
哎,首先代码好长,看起来很累的,如果你是想使用Hibernate去调用数据库中的一个存储过程或者试图,你可以采用hibernate的原生sql啊,
Hibernate提供了HQL的同时,也提供了jdbc的选择.那么在实现的过程中就有了很多的选择.
zhaoyongling721 2008-06-04
  • 打赏
  • 举报
回复
lz可以用一下SQLQuery 这个对象,支持sql语句。

3楼的肯定不了解hibernate ,在不明白一个东西之前不要乱下定论哦
kidfang 2008-05-19
  • 打赏
  • 举报
回复
别做梦了,你以为HIB能干什么.你可以获得翻译后的SQL,再想办法加进你的自定义函数,再用本地查询.
垃圾HIB
loaferwang 2008-05-13
  • 打赏
  • 举报
回复
回答不上来,up
onebody 2008-05-13
  • 打赏
  • 举报
回复
关注,顶一下

6,787

社区成员

发帖
与我相关
我的任务
社区描述
JBoss技术交流
社区管理员
  • JBoss技术交流社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧