hibernate高效查询(1)

  1. 当我们用hibernate查询两个对象的某几个字段时,并不需要将两个对像完全查询出来,这样在使用查询方法时,就需要我们适当的选择,查询sql和方法,有助于提高效率;

    比如:

  2. public void getStudentCourseSomeColumns(){
    		Session session=HibernateUtil.getSession();
    		String sql="select s.name,c.name from Student as s,Course as c ";
    		Query query=session.createQuery(sql);
    		List<Object[]> obj=query.list();
    		for(Object[] o:obj){
    			System.out.println("o[0]:"+o[0]);//对应:s.name
    			System.out.println("o[1]:"+o[1]);//对应:c.name
    		}
    		
    	}

    这个要注意的地方是sql的书写语句的执行方式:

           1.select s.name,c.name from Student as s,Course as c

               对应的表名需要大写,与对应的类名相同;别名需要as关键字

          2.使用原始的Query执行,必须返回List<Object[]>类型;

         

你可能感兴趣的:(hibernate高效查询(1))