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;
	}
                    
                
                
            
        
浙公网安备 33010602011771号