Hibernate查询方式&抓取策略

Hibernate的查询方式

1、OID查询

hibernate根据对象的OID(主键)进行检索

  使用get方法

Customer customer=session.get(Customer.class,1l); 

  使用load方法

Customer customer=session.load(Customer.class,1l); 

2、对象导航检索

hibernate根据一个已经查询到的对象,获得其关联的对象的一种查询方式

LinkMan linkMan=Session.get(LinkMan.class,1l);
Customer customer=linkMan.getCustomer();

3、HQL检索

Hibernate Query Language 的查询语言,是一种面向对象的方式的查询语言,语法类似于SQL。通过session.createQuery()用于接收一个HQL进行查询

HQL的简单查询

	/*
	 * HQL简单查询
	 * */
	public void demo2() {
		Session session=HibernateUtils.openSession();
		Transaction transaction=session.beginTransaction();
		Query query=session.createQuery("from Customer");
		List<Customer> list=query.list();
		for(Customer customer:list)
			System.out.println(customer.toString());
		transaction.commit();
	}

HQL的别名查询

	/*
	 * HQL简单查询
	 * */
	public void demo2() {
		Session session=HibernateUtils.openSession();
		Transaction transaction=session.beginTransaction();
		Query query=session.createQuery("from Customer c");
		List<Customer> list=query.list();
		for(Customer customer:list)
			System.out.println(customer.toString());
		transaction.commit();
	}

HQL的投影查询

查询对象的某个或某些属性

	public void demo6() {
		Session session=HibernateUtils.openSession();
		Transaction transaction=session.beginTransaction();
		List<Object> list=session.createQuery("select c.cust_name from Customer c").list();
		for(Object object:list)
			System.out.println(object);
		transaction.commit();
	}

 

猜你喜欢

转载自www.cnblogs.com/vincentme/p/10073270.html