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属性为参数的构造方法
时间: 2024-11-06 08:23:56