天天看点

Hibernate hql

简单查询

    @Override

    public List<XXX> getXXXList() {

        List<XXX> result = new ArrayList<XXX>();

        Session session = null;

        try {

           session = getSession();

           String hql = " FROM XXX order by id ";

           Query query = session.createQuery(hql);

           result = query.list();

        } catch (Exception e) {

           e.printStackTrace();

        } finally {

           if (session != null) {

               session.close();

           }

        }

        return result;

    }

属性查询

public List<XXX> getXXXList(XXX) {

        Session session = null;

        Transaction transaction = null;

        try {

           session = getSession();

           transaction = session.beginTransaction();

           String hql = "from XXX where username=:username";

           Query<User> query = session.createQuery(hql, XXX.class);

           query.setParameter("username", "测试");

           List<User> list = query.getResultList();

           transaction.commit();

           result = query.list();

        } catch (Exception e) {

           if (transaction != null) {

               transaction.rollback();

           }

           e.printStackTrace();

        }

    }

实例化查询

public List<XXX> getXXXList(XXX) {

        Session session = null;

        Transaction transaction = null;

        try {

           session = getSession();

           transaction = session.beginTransaction();

           String hql = "select new XXX(u.username,u.age) from XX as u";

           Query<User> query = session.createQuery(hql, XXX.class);

           query.setParameter("username", "测试");

           List<User> list = query.getResultList();

           transaction.commit();

           result = query.list();

        } catch (Exception e) {

           if (transaction != null) {

               transaction.rollback();

           }

           e.printStackTrace();

        }

    }

继续阅读