HQL (八) 对象导航查询

对象导航查询,在hql中采用.进行导航(重要)
参见:ObjectNavQueryTest.java

package com.wlh.hibernate;

import java.util.Iterator;
import java.util.List;

import org.hibernate.Session;

import junit.framework.TestCase;

public class ObjectNavQuery extends TestCase {

	
	public void testQuery1() {
		Session session = null;
		try {
			session = HibernateUtils.getSession();
			session.beginTransaction();
			[color=red]//s.classes.name就是导航
//s.classes从Student导航到Class,因为Student中持有Class的引用private Classes classes;[/color]			
List students=session.createQuery("select s.name from Student s where s.classes.name=?")
					.setParameter(0, "班级1")
					.list();
			for(Iterator iter=students.iterator();iter.hasNext();){
				String o=(String)iter.next();
				System.out.println("name="+o);
			}
			session.getTransaction().commit();
		}catch(Exception e) {
			e.printStackTrace();
			session.getTransaction().rollback();
		}finally {
			HibernateUtils.closeSession(session);
		}
	}	
}

你可能感兴趣的:(java,Hibernate,JUnit)