eclipse学习(第三章:ssh中的Hibernate)——9.Hibernate里面的标准查询

前言(建议看一下有版本差距)

本文参考自https://www.w3cschool.cn/hibernate/ugov1ie8.html后做的一个实践日志记录。
旧版本的话,你直接这么使用是没有任何问题的。
我这里举个最简单的例子吧,直接创建即可,如果就可以往里面添加参数处理了。

Criteria c = session.createCriteria(Address.class);
List<Address> l = c.list();

但是如果你换了版本,这个hibernate版本是在Hibernate5.2之后就会出现了已弃用的标志,要改为如下情况。

	//创建CriteriaBuilder对象
	CriteriaBuilder bulider = session.getCriteriaBuilder();
	//创建对应实体类的CriteriaQuery对象
	CriteriaQuery<Address> criteriaQuery = bulider.createQuery(Address.class);
	//通过CriteriaQuery对象设置条件,这里是设置根条件
	Root<Address> addressRoot = criteriaQuery.from(Address.class);
	//通过session创建查询语句
	Query q = session.createQuery(criteriaQuery);
	//获取查询结果
	List<Address> a = q.getResultList();

如果你使用已弃用的方法的话,会有这个输出

WARN: HHH90000022: Hibernate's legacy org.hibernate.Criteria API is deprecated; use the JPA javax.persistence.criteria.CriteriaQuery instead

我要说一句,这个标准查询是用来做查询处理的

标准查询

其实就是将一般的查询条件抽取成方法,替换了写hql的过程,其实都很类似的。不过我觉得写个hql其实比写这个好,起码省略了几行代码…

标准查询的部分示例说明

1、单条件查询(这里是使用新方法的)

新方法的话目前我就只能弄到这里了,抱歉,实力不够,弄不上去,其实还能弄一些更多示例的,不过看网址也行了https://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html#criteria-typedquery-entity

List<Address> addressList = null;
		try {
			transaction = session.beginTransaction();
			
			//通过session获取CriteriaBuilder	
			Crit
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值