022——hibernate连接查询

来源:互联网 发布:淘宝dnfcdkey码怎么来 编辑:程序博客网 时间:2024/06/10 07:51

实体类及映射文件请参考015篇

测试类:

package test;import java.util.Iterator;import java.util.List;import junit.framework.TestCase;import org.hibernate.Session;import com.java.hibernate.HibernateUtils;public class JoinQueryTest extends TestCase{public void testQuery1() {Session session = null;try {session = HibernateUtils.getSession();session.beginTransaction();List students = session.createQuery("select c.name, s.name from Student s join s.classes c").list();for(Iterator iter = students.iterator(); iter.hasNext();) {Object[] obj = (Object[]) iter.next();System.out.println(obj[0] + "------" + obj[1]);}session.getTransaction().commit();} catch (Exception e) {e.printStackTrace();session.getTransaction().rollback();} finally {HibernateUtils.closeSession(session);}}public void testQuery2() {Session session = null;try {session = HibernateUtils.getSession();session.beginTransaction();List students = session.createQuery("select c.name, s.name from Student s left join s.classes c").list();for(Iterator iter = students.iterator(); iter.hasNext();) {Object[] obj = (Object[]) iter.next();System.out.println(obj[0] + "------" + obj[1]);}session.getTransaction().commit();} catch (Exception e) {e.printStackTrace();session.getTransaction().rollback();} finally {HibernateUtils.closeSession(session);}}public void testQuery3() {Session session = null;try {session = HibernateUtils.getSession();session.beginTransaction();List students = session.createQuery("select c.name, s.name from Student s right join s.classes c").list();for(Iterator iter = students.iterator(); iter.hasNext();) {Object[] obj = (Object[]) iter.next();System.out.println(obj[0] + "------" + obj[1]);}session.getTransaction().commit();} catch (Exception e) {e.printStackTrace();session.getTransaction().rollback();} finally {HibernateUtils.closeSession(session);}}}


0 0