什么是动态实例查询:
就是将查询出的单一列的字段,重新封装成对象,如果不适用特殊方法,会返回Object对象数组。
01.搭建环境
02.动态实例查询
需要使用相应的构造方法:
public Book(String name) { this.name = name; }
package com.gordon.test; import java.util.List; import org.hibernate.Query; import org.hibernate.Session; import org.hibernate.Transaction; import org.junit.Test; import com.gordon.domain.Book; import com.gordon.utils.HibernateUtil; /** * 动态实例查询 * @author Administrator */ public class TestDemo2 { /** * 动态实例查询 * 要添加相应的构造方法,下面代码需要使用如下构造方法。 public Book(String name) { this.name = name; } */ @Test public void run1() { Session session = HibernateUtil.getCurrentSession(); Transaction transaction = session.beginTransaction(); String hql = "select new Book(b.name) from Book b"; List<Book> list = session.createQuery(hql).list(); for (Book book : list) { System.err.println(book.getName()); } transaction.commit(); } }