没有试过不同的session之间怎么保持一致
在不同的session之间作有什么意义么

解决方案 »

  1.   

    Hibernate的session由sessionFactory产生,session就是一个数据库回话,这个回话会由datasource提供一个connection,由于每一个pojo到表的vmapping,sessionfactory都会为之维护一个mapping,这个mapping是线程同步的,所以多个session同时操作一个表,甚至一条记录都会保证数据库的完整性,这就是说为什么session是线程安全的,但是多个sessionfactory同时对数据库操作就是需要一种jta来保证了,因为sessionfactory是线程不安全的,主要原因就维护了两个对数据的操作集团servlet的session不属于进程,更不属于线程,它代表了一个远程回话,所以它和hibernate的session没有任何关系,不要因为spring提供了一个openview就这样认为,servlet中的session是为无链接的web服务提供了一种“虚拟”的有链接,虽然我还没有看到这部分源代码,我觉得里面可能是一种softreference实现的map