zoukankan      html  css  js  c++  java
  • Hibernate常出现的报错

    刚开始学习hibernate的时候,第一次就遇到了空指针异常,结果是我的配置文件处理错误(主要是数据库表的字段与就java实体类的属性名单词写错了);一般是报空指针异常的话,多半是配置文件的问题。

    但是这次报空指针异常找了两天的。因为我的表有个是表示时间的,数据库用的是date类型的。我在java实体类中也是用的Date类型的,但是我导入的包的java.util.Date.所以在.hbm.xml文件里我的时间type="java.util.Date",就一直报空指针异常。后来我把java实体类中的Date类型导入包改成了java.sal.Date,把.hbm.xml文件里的时间类型改成了type="java.sql.Date"。然后就好了!

    org.hibernate.HibernateException: Illegal attempt to associate a collection with two open sessions.  

    是说同时打开了两个会话关联。

    结果是因为:

    public Student getStudent(Class<?> cls, Serializable pk) {
    Session session = null;//获得session
    Transaction tx = null;//事务
    Student student=null; //对象
    try {
    session=HibernateUtils.getSessionFactory().openSession();
    tx=session.beginTransaction();//开启事务
    student=(Student)session.get(cls, pk);
    tx.commit();//提交事务
    } catch (Exception e) {
    e.printStackTrace();
    tx.rollback();//回滚事务
    }finally{
    session.close();//关闭session   当时我把这个关闭session注释了
    }
    return student;
    }

  • 相关阅读:
    算术入门之加减乘除
    scanf的返回值
    Flutter 开发环境配置
    DbContextOptionsBuilder
    MarkDown 的简单用法
    C# 多线程安全集合类
    .NET Core 中使用 MemoryCache 缓存
    JWT
    什么是跨域?跨域解决方法
    .Net Core 中配置的高级用法
  • 原文地址:https://www.cnblogs.com/hellokitty1/p/5059802.html
Copyright © 2011-2022 走看看