什么是动态实例查询:
就是将查询出的单一列的字段,重新封装成对象,如果不适用特殊方法,会返回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();
}
}