Java 如何使用Hibernate标准调用oracle函数?

Java 如何使用Hibernate标准调用oracle函数?,java,oracle,hibernate,hibernate-criteria,Java,Oracle,Hibernate,Hibernate Criteria,我刚开始冬眠。我正在建立一个登录门户。我们使用了DB函数来加密用户密码。在现有数据库上使用hibernate进行复杂的查询/函数/过程似乎很困难。 是否可以使用Hibernate条件编写以下查询? SQL查询1: 选择第一个名称 来自user.emp_组 其中username='XXX' 和user.decryptpassword,2='YYYY'; SQL查询2: 选择a.DESC ,b.总计 来自user.STATUS a , 选择状态 ,计数*总数 来自user.emp 按身份分组 B 其

我刚开始冬眠。我正在建立一个登录门户。我们使用了DB函数来加密用户密码。在现有数据库上使用hibernate进行复杂的查询/函数/过程似乎很困难。 是否可以使用Hibernate条件编写以下查询? SQL查询1:

选择第一个名称 来自user.emp_组 其中username='XXX' 和user.decryptpassword,2='YYYY'; SQL查询2:

选择a.DESC ,b.总计 来自user.STATUS a , 选择状态 ,计数*总数 来自user.emp 按身份分组 B 其中a.TYPE=b.STATUS+ User是模式名,decrypt是函数名

我还面临着从视图中获取数据的问题,这个问题通过Stackoverflow帖子得到了解决。
谢谢。您可以将本机SQL与hibernate一起使用

方法如下,例如:

String sql = "SELECT first_name, salary FROM EMPLOYEE";
SQLQuery query = session.createSQLQuery(sql);
List data = query.list();

     for(Object object : data)
     {
        Map row = (Map)object;
        System.out.print("First Name: " + row.get("first_name")); 
        System.out.println(", Salary: " + row.get("salary")); 
     }

我使用了一个来自Thank.的代码示例。。我试过原生sql。它起作用了。但是因为我使用的是hibernate,所以我想使用它的api,特别是用于构建应用程序的criteria api,如果使用criteria令人头痛,可能还有hql。但是你不能通过criteria调用特定的oracle函数。你的意思是,没有办法使用criteria api调用函数?我不确定,但是我认为你可以使用Expression.sql,我以前从来没有用过这个,但我认为这是一种方式。您可以在这里看到API:问题是它已被弃用,您应该使用Restrictions.sqlRestrictionString