1. 程式人生 > >Hibernate Criteria 離線正則查詢

Hibernate Criteria 離線正則查詢

private static void query() {

        Student student=new Student();
        //建立離線正則物件
        DetachedCriteria detachedCriteria=DetachedCriteria.forClass(Student.class);
        //select name,age from t_student where sex='男'
        detachedCriteria.setProjection(
                Projections.projectionList
() .add(Projections.property("name")) .add(Projections.property("age")) ); detachedCriteria.add(Restrictions.eq("sex", "男")); Session session=HibernateUtils.getSession(); //根據離線正則傳遞session物件後返回正則物件 Criteria criteria=detachedCriteria.getExecutableCriteria
(session); List<Object[]> list=criteria.list(); for(Object[] objs:list){ System.out.println(Arrays.toString(objs)); } }
Session session=HibernateUtils.getSession();



        //當檢索結果不是實體時的用法
         String sql="select name,age,sex from t_student where sex=?"
; SQLQuery sqlQuery=session.createSQLQuery(sql); sqlQuery.setString(0, "男"); List<Object[]> list=sqlQuery.list(); for(Object[] objs:list){ System.out.println(Arrays.toString(objs)); } //將檢索結果是實體時 String sql="select id,name,age,sex,email from t_student where sex=?"; SQLQuery sqlQuery=session.createSQLQuery(sql); sqlQuery.setString(0, "男"); //給sqlQuery關聯實體 sqlQuery.addEntity(Student.class); List<Student> list=sqlQuery.list(); for(Student stu:list){ System.out.println(stu); }