hibernate如何调用oracle中自己定义的函数

YYcool 2010-09-16 09:46:27
将调用sql写在配置文件中,函数是无参的
...全文
404 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
V-revenger 2010-09-16
  • 打赏
  • 举报
回复
我们可以在hbm.xml中调用,例如:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="com.test" table="TEST">
<id name="id" type="java.lang.String">
<column name="ID" length="12" />
<generator class="assigned" />
</id>

<!--以下是通过SQL来实现的-->
<property name="rs" type="java.lang.Long"
formula="(select count(*) from Xs0101 xs where xs.bjbh = bjbh)" />

</class>

<!--以下是通过自定义函数来实现的-->
<property name="data" type="java.lang.String"
formula="(pckfunction.findSubString(class,'args1','args2','args3'))" />

</class>
</hibernate-mapping>

在oracle的packages中可以自定义自己提供的函数:

create or replace package pckFunction is
TYPE myrctype IS REF CURSOR;
function getSubTable(tblname in varchar2,
returnColname in varchar2,
findColname in varchar2,
findValue in varchar2) return myrctype;

function findSubString(tblname in varchar2,
returnColname in varchar2,
findColname in varchar2,
findValue in varchar2) return varchar2;

end pckFunction;


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lyddite_luo/archive/2008/11/21/3344169.aspx

67,536

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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