Hibernate- QBC离线查询
package com.gordon.test; import java.util.List; import org.hibernate.Criteria; import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.criterion.DetachedCriteria; import org.hibernate.criterion.Restrictions; import org.junit.Test; import com.gordon.domain.Book; import com.gordon.utils.HibernateUtil; /** * QBC查询 * * @author Administrator */ public class TestQBCDemo2 { /** * 离线查询 Hibernate: select this_.id as id1_0_0_, this_.name as name2_0_0_, * this_.price as price3_0_0_, this_.publisher_id as publishe4_0_0_ from * t_book this_ where this_.price<=? C语言程序设计 Photoshop图形图像处理 * VisualBasic2015实践教程 生产微服务 */ @Test public void run() { /** * 离线查询对象 */ DetachedCriteria detachedCriteria = DetachedCriteria.forClass(Book.class); detachedCriteria.add(Restrictions.le("price", 44.00)); /** * session */ Session currentSession = HibernateUtil.getCurrentSession(); Transaction transaction = currentSession.beginTransaction(); /** * 设置此离线对象要被哪个session执行 */ Criteria executableCriteria = detachedCriteria.getExecutableCriteria(currentSession); /** * 查询结果 */ List<Book> list = executableCriteria.list(); for (Book book : list) { System.out.println(book.getName()); } transaction.commit(); } }