HQL多个属性查询语法

String hql=“select id,name from Street”;

例如:
Configuration conf=new Configuration().configure();
        SessionFactory sf=conf.buildSessionFactory();
        Session session=sf.openSession();
        Query query=session.createQuery("select new Street(id,name) from Street");
        List<Street> list=query.list();
        for (Street st : list) {
            System.out.println(st.getId+"==="+st.getName());
        }
在上面的例子中我们读取了id和name的属性内容。返回的List对象中,每个条目都是一个对象数组(Object[]),每个Object数组中依次保存我们所获取的属性数据。
经验:为了使返回的结果更加符合面向对象风格,可以通过在HQL中动态构造对象实例的方法对数据进行封装。
可以采用如下HQL语句:
“select new Street (id,name) from Street“
这样返回的List对象中将保存Street对象。但必须在Street类中添加一个以id和name属性为参数的构造方法

posted @ 2017-05-15 20:52  日出东海落西山  阅读(191)  评论(0编辑  收藏  举报