87 public Collection search(int userid) {
88 try {
89 session = this.getSession();
90 hql = "From OrderInfo";
91 query = session.createQuery(hql);
92 // query.setInteger(0, userid);
93 c = query.list();//这句报异常
Iterator i = c.iterator();
while (i.hasNext()) {
System.out.println(i.next());
}
} catch (Exception ex) {
ex.printStackTrace();
System.out.println("OrderInfoDAO....search出错");
} finally {
session.close();
}
return c;
}
配置文件我改成这样了, <bean id="dataSource"
class="org.apache.commons.dbcp.BasicDataSource">
<property name="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
<property name="url" value="jdbc:microsoft:sqlserver://localhost:1433"/>
<property name="username" value="sa"/>
</bean>
该类中这个方法可以的,不会出问题的,网站登陆也没有问题的
这是怎么回事呢? public void save(OrderInfo transientInstance) {
log.debug("saving OrderInfo instance");
try {
getHibernateTemplate().save(transientInstance);
log.debug("save successful");
} catch (RuntimeException re) {
log.error("save failed", re);
throw re;
}
}

解决方案 »

  1.   

    看下是不是这个问题?~
    http://topic.csdn.net/t/20040930/11/3420988.html
      

  2.   

    缺少包吧,应该是3个jar
    Msbase.jar
    Mssqlserver.jar
    Msutil.jar
      

  3.   

    to 6楼
    应该不是这个问题,这个类中的save方法都可以执行的
      

  4.   

    SetInteger();给它赋值为int类型的呢,数据改一下或者转换一下再试!
      

  5.   

    肯定是text/image之类的字段问题,我想你应该先更新一下你的JDBC驱动看看。也许这是一个老驱动的BUG也说不准!http://www.microsoft.com/downloads/details.aspx?familyid=C47053EB-3B64-4794-950D-81E1EC91C1BA&displaylang=zh-cn
    或者
    http://www.java2000.net/download.jsp
      

  6.   

    谢谢大家的帮助,也谢谢紫竹大哥的指导,换2005的驱动就搞定了,我在这里在补充一下,换驱动要修改URL和Driver.JDBC3.0是1个jar,2.0是3个jar 
    在3.0里面的URL和Driver是这样写的jdbc:sqlserver://localhost 
    com.microsoft.sqlserver.jdbc.SQLServerDriver
    请注意看,和2.0的区别 jdbc:microsoft:sqlserver://localhost 
    com.microsoft.jdbc.sqlserver.SQLServerDriver

    详见http://www.java2000.net/viewthread.jsp?tid=367