1.创建自己的方言
public class DialectRegExp extends Oracle9iDialect{
public DialectRegExp(){
super();
this.registerFunction("my_xy", new SQLFunctionTemplate(new IntegerType(),"get_sal(?1)"));
}
}
?1代表第一个参数,?2代表第二个参数.详情见hibernate javadoc:
org.hibernate.dialect.Dialect,
org.hibernate.dialect.function.SQLFunction,
org.hibernate.dialect.function.SQLFunctionTemplate
2.主配置文件注册自己的方言
<property name="hibernate.dialect">org.xl.DialectRegExp</property>
注意:
<property name="hibernate.query.substitutions">true=1,false=false</property>
这句是为了某些情况在特殊使用,在文档中有解释,意思是是否在hibernate中用1表示true,0表示false
3.调用,此时的my_xy就是自定义函数get_sal
Query q = se.createQuery("select my_xy(e.empno) from Emp e");
List list = q.list();
System.out.println(list.size());
get_sal过程:
create or replace function get_sal(eno number) return number
is
mysal emp.sal%type;
begin
if validate_emp(eno) then
select sal into mysal from emp where empno=eno;
return mysal;
end if;
end;
转自:
http://luveelin.blog.163.com/blog/static/11949234120123154450651/
分享到:
相关推荐
NULL 博文链接:https://jadeluo.iteye.com/blog/1213549
hql开窗函数.sql
NHibernate hql 可用函数,函数大全
汇集了hql语句中大部分常用的函数 ABS(n) 取绝对值数学函数 数学函数 JPAQL HQL ABS(column_name[数字类型对象属性])
适合大数据初学者,数据分析行业工作者登需要使用hive SQL的人使用
HQL常用函数
使用hibernate的query调用oracle的存储过程/function,包含例子,源码以及数据库文件
HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL语法入门学习HQL...
HQL是完全面向对象的查询语言,因此...(3)以HQL语句作为参数,调用Session的createQuery方法创建查询对象; (4)如果HQL语句包含参数,调用Query的setXxx方法为参数赋值; (5)调用Query对象的list等方法遍历查询结果。
HQL语句 HQL语句 HQL语句 HQL语句 HQL语句
hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全hql语句大全
HQL语句大全HQL语句大全HQL语句大全HQL语句大全HQL语句大全
Hql PPt Hql PPt
不喜欢使用myEclipse的...最近在项目中使用Hibernate,由于需要使用HQL,找了很多资料,大都是MyEclipse中自带的HQL工具。 由于MyEclipse是收费的,速度不是很理想。所以在网上找到了一个elipse插件 英文图文教程 ...
Criteria查询对查询条件进行了面向对象封装,符合编程人员的思维方式,不过HQL(Hibernate Query Lanaguage)查询提供了更加丰富的和灵活的查询特性,因此Hibernate将HQL查询方式立为官方推荐的标准查询方式,HQL查询...
hql模糊查询hql模糊查询hql模糊查询hql模糊查询
hql语句常规 方法 使用 了解hql语句
之前写好SQL,再到代码里面来写,语句复杂的看的时不时细节会忘记,用sql转换hql工具,直接贴近了就可以了;
hibernate查询之HQLhibernate查询之HQLhibernate查询之HQL
精通HQL.doc精通HQL.doc精通HQL.doc精通HQL.doc精通HQL.doc