美文网首页
10、HibernateTemplate原理

10、HibernateTemplate原理

作者: ltjxwxz | 来源:发表于2017-05-04 17:20 被阅读0次
    import org.hibernate.Session;
    public class MyHibernateTemplate {
    
        public void executeWithNativeSession(MyHibernateCallback callback) {
            Session s = null;
            try {
                s = getSession();
                s.beginTransaction();
                // 要使用MyHibernateTemplate 对自定义的方法生成前后的模板,需要 对外发布一个接口MyHibernateCallback,并给调用方法一个 session,让他自己去定义要实现的逻辑。
                callback.doInHibernate(s);
                s.getTransaction().commit();
            } catch (Exception e) {
                s.getTransaction().rollback();
            } finally {
                //...
            }
        }
    
        private Session getSession() {
            // TODO Auto-generated method stub
            return null;
        }
        
        public void save(final Object o) {
            new MyHibernateTemplate().executeWithNativeSession(new MyHibernateCallback() {
                public void doInHibernate(Session s) {
                    s.save(o);
                }
            });
        }
      
        public static void main(String[] args) {
            new MyHibernateTemplate().executeWithNativeSession(new MyHibernateCallback() {
                public void doInHibernate(Session s) {
                    s.save(null);
                }
            });
         }
    }
    
    import org.hibernate.Session;
    public interface MyHibernateCallback {
        public void doInHibernate(Session s);
    }
    
    

    相关文章

      网友评论

          本文标题:10、HibernateTemplate原理

          本文链接:https://www.haomeiwen.com/subject/wqgnottx.html