美文网首页
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