`
gerrard_ok
  • 浏览: 146188 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

hql中调用自定义数据库函数

 
阅读更多

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;

分享到:
评论

相关推荐

    hibernate 调用oracle函数

    1. **创建Oracle函数**:在Oracle数据库中,我们首先需要创建一个自定义函数。例如,我们可以创建一个计算两个数字之和的函数`ADD_NUMBERS`: ```sql CREATE OR REPLACE FUNCTION ADD_NUMBERS(p_num1 NUMBER, p_...

    NHibernate hql 可用函数,函数大全

    ### NHibernate HQL 可用函数详解 #### 一、查询基本语法与示例 **1....- **语法**: `FROM &lt;类名&gt; [WHERE &lt;条件&gt;]` - **示例**: `FROM Category c ...通过这些示例,你可以更好地理解和应用HQL来完成数据库操作任务。

    hibernate query调用oracle存储过程

    在Hibernate中,调用存储过程通常通过Session对象的createNativeQuery()方法实现,这个方法用于创建原生SQL查询,可以方便地调用数据库的自定义SQL或者存储过程。以下是一个简单的示例,展示了如何调用一个不带参数...

    HibernateHql综合测试小程序

    8. **函数调用**:HQL支持数据库内置函数,如`lower()`、`upper()`等,以及自定义函数。 该测试程序还包含了JUnit测试框架,用于验证HQL查询的正确性。JUnit是Java中的单元测试库,它提供了一种结构化的方法来编写...

    Hibernate HQL详解.docx

    Hibernate HQL,全称为Hibernate Query Language,是Hibernate框架中用于操作数据库的一种面向对象的查询语言。它允许开发者用面向对象的方式来编写查询语句,极大地提高了开发效率和代码的可读性。以下是对HQL的...

    Hibernate hql查询语法总结

    当需要遍历查询结果时,可以通过`createQuery()`方法执行HQL语句,然后调用`list()`获取结果列表: ```java Query query = session.createQuery("from Student"); List&lt;Student&gt; list = query.list(); for (Student ...

    Hibernate底层数据库操作函数BaseDao+具体实例

    在Java开发中,Hibernate是一个非常流行的ORM(对象关系映射)框架,它简化了数据库操作,使得开发者可以更专注于业务逻辑而不是数据库层面的细节。`BaseDao`是常见的一种设计模式,用于封装Hibernate的基本数据库...

    Hibernate HQL 结合 velocity

    1. **执行HQL查询**:在Java代码中,使用`Session`对象的`createQuery()`或`createNativeQuery()`方法创建HQL查询,然后调用`list()`或`uniqueResult()`等方法获取查询结果。 2. **处理查询结果**:将查询结果转换...

    如何通过配置自动实现ValueList中hql语句的整型参数转换

    总结来说,通过配置自定义的参数设置器,我们可以更优雅地处理ValueList中的整型参数,确保它们在执行HQL时能够正确匹配到整型字段,提高代码的可维护性和数据库移植的灵活性。对于大型项目而言,这种自动化处理方式...

    postgresql数字结尾字符串分割排序说明

    本文档旨在详细介绍如何通过自定义函数在PostgreSQL数据库中实现一种特殊的排序方式:对于以数字结尾的字符串,首先将其分为两部分,一部分为非数字字符串,另一部分为数字;然后根据这两部分分别进行排序。具体而言...

    hibernate调用存储过程.docx

    在文档中提到的“命名SQL查询”是Hibernate提供的一种高级查询机制,它允许在映射文件中预先定义SQL查询,然后像调用HQL(Hibernate Query Language)一样调用这些查询。这样做的好处是可以提高代码的可读性和可维护...

    JPA分页查询与条件分页查询

    JPA(Java Persistence API)是Java平台上的一个标准,用于管理关系数据库中的数据。Spring Data JPA 是基于 JPA 的一个扩展,它简化了数据库操作,使得开发者无需编写大量SQL语句,就能实现数据的增删改查。在这个...

    java常用jar包

    这些jar包涵盖了Java开发中的多个核心领域,如数据库访问、对象持久化、本地化调用、数据交换、用户界面美化等,是构建复杂Java应用的基础组件。了解并熟练使用这些库,对于提升开发效率和代码质量至关重要。

    第十一节、HIVE常用操作.pdf1

    11. **用户自定义函数**:允许用户编写自己的函数,注册到Hive中,并在查询中调用。 这些操作和函数构成了Hive进行大数据分析的基本工具,使得开发者能够方便地对海量数据进行处理和分析。通过熟练掌握这些命令和...

    Hibernate详解2

    - **SQL函数**:可调用用户自定义的SQL函数或标准SQL函数。 - **子查询**:在查询语句中嵌套其他查询。 - **动态绑定参数**:提高安全性,避免SQL注入。 **HQL的参数绑定** - **按参数名字绑定**:使用“:”前缀,...

    hibernateTools3.3

    例如,可以定制实体类的生成模板,包含特定的注释、序列化实现或自定义构造函数。 总之,hibernateTools3.3作为Hibernate的强力助手,能显著提高开发效率,减少重复工作,让开发者更专注于业务逻辑。熟练掌握和利用...

    PKLormapping(Object-C) 1.1说明1

    通过调用`queryExecute`、`insertExecute`、`updateExecute`等方法,可以并发执行这些操作,并通过回调函数`dataResult:state:`接收执行结果。 总之,PKLormapping 1.1 是一个强大且易用的数据库操作框架,通过面向...

    连接hive-使用sqldeveloper作为客户端.zip

    - SQL Developer并不直接支持Hive的所有特性,如UDF(用户自定义函数)可能需要通过其他方式调用。 通过以上步骤,你就可以利用SQL Developer这一强大的数据库管理工具来便捷地操作和管理Hive数据库了。这使得非...

    软件架构考试复习.docx

    4. 编写DAO接口的实现类,通过SqlSession调用映射器中的方法执行SQL。 四、使用Hibernate的步骤 Hibernate是一个流行的Java ORM框架。使用Hibernate的基本流程分为三个准备和七个步骤: 1. 准备:导入Hibernate库,...

    Hibernate检索方式

    - **用户定义函数**:支持调用用户自定义的SQL函数。 - **子查询**:支持嵌入式查询。 - **动态绑定参数**:可以在查询语句中使用参数占位符,并在运行时动态绑定参数值。 在Hibernate中,`Session`的`createQuery...

Global site tag (gtag.js) - Google Analytics