HQL的内连接查询

      /**
	 * HQL的内连接查询
	 * String hql="from Customer c inner join  fetch c.linkmans";
	 */
	@Test
	public void test8(){
		Session session = HibernateUtil.getCurrentSession();
		Transaction tr = session.beginTransaction();
		
		/**
		 * 内连接:显示内连接 on /  隐示内连接 where
		 * 内连接:交集部分
		 * 左外连接:左表加交集部分(除了交集部分,其它为null)
		 * 右外连接:右表加交集部分(除了交集部分,其它为null)
		 * 迫切连接:fetch(hibernate框架提供的:用来将查询的数据转换为对象的形式)
		 */
		Query query = session.createQuery("from Customer c inner join  fetch c.linkmans");
		/**
		 * 将List集合转换为Set集合可以避免重复数据
		 */
		List<Customer> list = query.list();
		Set<Customer> set=new HashSet<Customer>(list);
		for (Customer customer : set) {
			System.out.println(customer);
		}
		
		tr.commit();
		HibernateUtil.closeCurrentSession();
		
	}

  

posted @ 2018-02-24 11:51  scwyfy  阅读(315)  评论(3编辑  收藏  举报