关于Hibernate中中的若干问题(不定期更新)~~


  • 中间关联表数据无法更新
  • 今天在做Hibernate的两表多对一关联时,用的中间表做的关联,刚开始时,由于让spring管理的事务,总是出问题。
    中间表的数据总是插不进去,后来查了半天,原来是切入点写错了,写成了Service层的,而我正在完成的DAO层,不过这也说明了一点问题,就是在中间表的数据插入是在session flsh()时才向数据库发送的。
  • hiberante懒加载在页面中不可用?
  • 之前在集成SSH时,出现的在页面时,由于Session在Service层的时候就已经关闭了,会出现proxy错误,现在解决这个问题的方面有主要有两个:一个是在Service层直接访问一下要在页面里访问的数据,让数据先加载进去,二是使用open session in view的设计模式,这种情况下,可以自己手写一个,不过Spring本身实现在这个方法。具体类在 org.springframework.orm.hibernate3.support下,分别有一个过滤器和拦截器,两个实现功能都一样,使用时,选其一即可。
    Spring实现的方法是将当前的Session使用ThreadLocal的方法绑定到当前线程上,在使用时要注意,不能直接使用 SessionFactory.openSession()的方法,因为这会再打开一个新的Session,应该使用 getCurrentSession()方法,得到当前线程中绑定的Session

你可能感兴趣的:(DAO,设计模式,spring,Hibernate,ssh)