今天遇到一个奇怪的问题:
当用户登录系统之后,httpSession中的用户实例会创建,当然,它是一个Transaction级别的对象,用来实时记录、读取用户信息状态。当有其它对象与其关联(例如短消息),则会产生HibernateSession无法打开的情况。
这是因为当用户做登录操作时,势必会从数据库中取出用户对象,然而此用户对象是一个Transaction级别的对象,在容器中会一直存在,其HibernateSession会出于一直打开的状态,这个session会将用户对象和与其关联的对象一起管理,如果要对其它对象进行查询(例如用户的短消息),将出现Session无法打开的错误。
还是应该对HibernateSession进行深入的研究啊