zoukankan      html  css  js  c++  java
  • SSH实战 · 用spring框架下的hibernatetemplate的get方法出现的问题

    用get方法查询:
         return this.getHibernateTemplate().get(Product.class, pid);
    出现错误为:id to load is required for loading···
        
         很多人说是数据库有字段设置了not null,所以在更新数据的时候由于有些字段是null,所以报错。仔细查看了数据库,并没有not null的设置。其实原因出在get(Product.class,pid)这个方法上。
        因为参数id在Dao中是序列化字段,但是在执行SQL查询的时候并没有给id赋值,所以在执行get()方法的时候就直接是null了。
        修改bug :除了使用hibernatetemplate的get()方法进行数据库查询,还可以使用find()方法直接进行HQL查询,但是fing返回的是一个字符串,事实上是一个ArrayList串。所以在进行fing()操作的时候,应该要返回List类型的POJO类泛型结果,不然就会出现HTTP Status 500 - Java.util.ArrayList的错误了。
    代码修改如下:
              String hql = "from Product where pid=?";
              List<Product> list = this.getHibernateTemplate().find(hql, pid);
              if(list != null && list.size() > 0){
                  return list.get(0);
              }
              return null;
     
     
     
     
     
     
  • 相关阅读:
    14-深度学习-卷积
    13-垃圾邮件分类2
    12-朴素贝叶斯-垃圾邮件分类
    11-分类与监督学习,朴素贝叶斯分类算法
    9-主成分分析
    8-特征选择
    7-逻辑回归实践
    6-逻辑回归
    2020安天杯-web的一点小思路
    攻防世界进阶--upload1
  • 原文地址:https://www.cnblogs.com/panweiwei/p/6245652.html
Copyright © 2011-2022 走看看