no session or session was closed处理方法2

原创 2016年06月02日 11:30:12

no session or session was closed处理方法

放弃使用表间的级联关系(一对多,多对多,多对一...)     采用hibernate的关联查询HQL内连接直接得到所需结果即可


例://根据票的ID得到票

1.用级联关系写    如果关闭session则出现no session or session was closed

public Vote findVoteByVid(int vid) {
		Session session=HibernateSessionFactory.getSession();
		Vote v=null;
		tx=session.beginTransaction();
		v=(Vote)session.get(Vote.class, vid);
		
		//session.close();
		return v;
	}

2.用HQL内连接直接得到结果则不会出现异常

//根据票的ID得到票   用内连接实现
	@SuppressWarnings("unchecked")
	public List<Vote> getVoteById(int vid) {
		Session session=HibernateSessionFactory.getSession();
		List<Vote> lis=null;
		try {
			tx=session.beginTransaction();
			String hql="select vt,u.context from Vote vt inner join vt.votecontexts u where vt.voteId=?";
			Query query=session.createQuery(hql);
			query.setInteger(0, vid);
			lis=query.list();
			tx.commit();
		} catch (Exception e) {
			if(null!=tx)tx.rollback();
			e.printStackTrace();
		}finally{
			session.close();
		}
		return lis;
	}





版权声明:本文为博主原创文章,未经博主允许不得转载。

no session or session was closed处理方法

首先说明一下,hibernate的延迟加载特性(lazy)。所谓的延迟加载就是当真正需要查询数据时才执行数据加载操作。因为hibernate当中支持实体对象,外键会与实体对象关联起来。如果没有这一特性...
  • SVDJASFHIAU
  • SVDJASFHIAU
  • 2016年06月02日 10:41
  • 927

解决no session or session was closed的问题

Spring为我们解决Hibernate的Session的关闭与开启问题。  Hibernate 允许对关联对象、属性进行延迟加载,但是必须保证延迟加载的操作限于同一个 Hibernate Sess...
  • JK9700
  • JK9700
  • 2015年09月19日 11:20
  • 1401

Hibernate no session or session was closed 解决

虽然说Hibernate的no session已经是一个很老的问题。但是,这个问题无疑是新手最为困扰的事情。 这里将自己如何处理这个问题的解决方法有必要说一下: 之前在web.xml中配置过ope...
  • zhbitxhd
  • zhbitxhd
  • 2013年12月02日 11:24
  • 5582

过滤器解决Hibernate中(no session or session was closed)异常

简单说一下引起no session or session was closed
  • cnm_1314
  • cnm_1314
  • 2014年09月10日 11:22
  • 2864

org.hibernate.SessionException: Session is closed! 异常解决方法

今天写了一个SpringMVC的小应用,功能很简单,在用户登录的时候如果发现自己没有用户名和密码就点击注册,跳转到注册页面注册一个,如果注册成功,自动跳转到登录页面,否则跳到错误页面。     问题...
  • afandaafandaafanda
  • afandaafandaafanda
  • 2015年05月26日 16:13
  • 6842

LazyInitializationException no session or session was closed异常的解决思路

因实体类间相互引用而设置为Lazy懒加载后(比较常见的就是多对多关系),导致session异常,一般原因是session接受spring事物管理,当事务提交或回滚后,会自动 关闭session,而此...
  • zavens
  • zavens
  • 2015年01月08日 14:57
  • 1270

ssh:org.hibernate.SessionException: Session was already closed

hibernate4: org.hibernate.SessionException: Session was already closed 原因:用sessionFactory.getCurre...
  • wj903829182
  • wj903829182
  • 2014年05月23日 22:05
  • 958

解决WebSocket 服务器 The WebSocket session [0] has been closed and no method...异常信息

线程安全的队列来保持所有客户端的Session. private volatile static List sessions = Collections.synchronizedList(new...
  • xygg0801
  • xygg0801
  • 2017年06月20日 09:58
  • 730

session is close的问题

在hibernate开发DAO模块,如果使用session不可避免会出现 session is close的问题。而且我是用myecplse自动编的DAO。如果不加特别处理的话,session不能有子...
  • abeetle
  • abeetle
  • 2007年02月15日 10:44
  • 1199

第十九章、认识与分析登录文件

当你的 Linux 系统出现不明原因的问题时,很多人都告诉你,你要查阅一下登录文件才能够知道系统出了什么问题了,所以说, 了解登录文件是很重要的事情呢。登录文件可以记录系统在什么时间、哪个主机、哪个服...
  • mybluetiankong
  • mybluetiankong
  • 2014年03月03日 09:31
  • 1766
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:no session or session was closed处理方法2
举报原因:
原因补充:

(最多只允许输入30个字)