java hibernate调用存储过程_java-在Hibernate中调用存储过程

昨晚我刚刚开始学习休眠,它相当有趣.我在使用hibernate将存储过程作为sql查询调用时遇到麻烦.我已附上来源和错误,请帮助我.谢谢 :)

/p>

"-//Hibernate/Hibernate Mapping DTD 3.0//EN"

"hibernate-mapping-3.0.dtd">

{call getRecords}

这是Java文件:::

import java.util.Iterator;

import java.util.List;

import org.hibernate.Query;

import org.hibernate.Session;

import org.hibernate.SessionFactory;

import org.hibernate.cfg.Configuration;

public class SelectProc {

public static void main(String[] args) {

Session session = null;

//String query = "select example.id, example.data from Example example";

try{

SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();

session = sessionFactory.openSession();

System.out.println("selecting records");

Query q = session.getNamedQuery("getRecordsSP");

// Query q = session.createSQLQuery("call getRecords","",Example.class);

System.out.print("Done");

List l = q.list();

for(Iterator it = l.iterator() ;it.hasNext();){

Object row [] = (Object [])it.next();

System.out.println(row.length);

// System.out.println(row[0]);

// System.out.println("ID " + row[0]);

// System.out.println("Data "+ row[1]);

}

}

catch (Exception e) {

e.printStackTrace();

}

finally{

session.flush();

session.close();

}

}

}

错误是:::

call getRecords}

18:33:41,346 WARN JDBCExceptionReporter:38 - SQL Error: 0, SQLState: S0022

18:33:41,347 ERROR JDBCExceptionReporter:46 - Column 'id0_' not found.

18:33:41,348 WARN JDBCExceptionReporter:38 - SQL Error: 0, SQLState: S0022

18:33:41,349 ERROR JDBCExceptionReporter:46 - Column 'id0_' not found.

18:33:41,349 ERROR JDBCExceptionReporter:38 - Could not execute native SQL query

java.sql.SQLException: Column 'id0_' not found.

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:929)

at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1144)

at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2813)

at org.hibernate.type.IntegerType.get(IntegerType.java:18)

at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:62)

at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:53)

at org.hibernate.loader.Loader.getKeyFromResultSet(Loader.java:541)

at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:233)

at org.hibernate.loader.Loader.doQuery(Loader.java:337)

at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:167)

at org.hibernate.loader.Loader.doList(Loader.java:1201)

at org.hibernate.loader.Loader.list(Loader.java:1186)

at org.hibernate.loader.SQLLoader.list(SQLLoader.java:121)

at org.hibernate.impl.SessionImpl.findBySQL(SessionImpl.java:2212)

at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:85)

at SelectProc.main(SelectProc.java:28)

org.hibernate.JDBCException: Could not execute native SQL query

at org.hibernate.impl.SessionImpl.findBySQL(SessionImpl.java:2215)

at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:85)

at SelectProc.main(SelectProc.java:28)

Caused by: java.sql.SQLException: Column 'id0_' not found.

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1075)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:989)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:984)

at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:929)

at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetImpl.java:1144)

at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl.java:2813)

at org.hibernate.type.IntegerType.get(IntegerType.java:18)

at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:62)

at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:53)

at org.hibernate.loader.Loader.getKeyFromResultSet(Loader.java:541)

at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:233)

at org.hibernate.loader.Loader.doQuery(Loader.java:337)

at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:167)

at org.hibernate.loader.Loader.doList(Loader.java:1201)

at org.hibernate.loader.Loader.list(Loader.java:1186)

at org.hibernate.loader.SQLLoader.list(SQLLoader.java:121)

at org.hibernate.impl.SessionImpl.findBySQL(SessionImpl.java:2212)

... 2 more

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值