Hibernate- 动态实例查询

什么是动态实例查询:

就是将查询出的单一列的字段,重新封装成对象,如果不适用特殊方法,会返回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();
	}
}
原文地址:https://www.cnblogs.com/hfultrastrong/p/7418443.html