首页 > 解决方案 > JAVA休眠GetSession

问题描述

我很难转换/最小化我拥有的这个非常冗长的代码(会话)。我每次需要会话时都在使用它。所以我的代码非常冗长和混乱。请帮忙!如何最小化这个尽可能小?谢谢!

    public List<Client> listOfClientInDonation(Map map) {
    String clientName = map.get("clientName") == null ? "" : (String) map.get("clientName");    

    List list = null;
    Transaction trns = null;
    Session sess = hibernateUtil.getSessionFactory().openSession();
    try {
        trns = sess.beginTransaction();
        Criteria crit = sess.createCriteria(Client.class);
      crit.add(Restrictions.like("name", clientName, MatchMode.ANYWHERE));
      crit.addOrder(Order.asc("name"));
      list = crit.list();
      sess.getTransaction().commit();
    } catch (RuntimeException e) {
        if (trns != null) {
            trns.rollback();
        }
        e.printStackTrace();
    } finally {
        sess.flush();
        sess.close();
    }
    return list;
}

标签: javahibernatecriteria

解决方案


推荐阅读