本文主要是介绍Hibernate5.3 criteria使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
hibernate 使用where 条件查询
public Department queryDepartmentById (int id) {// 获得hibernate sessionSession session = HibernateUtils.getSession();// 获得事物Transaction transaction = session.getTransaction();try {// 开启事物transaction.begin();// 获得CriteriaBuilder 用来创建CriteriaQueryCriteriaBuilder builder = session.getCriteriaBuilder();// 创建CriteriaQuery 参数为返回结果类型CriteriaQuery<Department> criteria = builder.createQuery(Department.class);// 返会查询表 参数类型为要查询的持久类Root<Department> root = criteria.from(Department.class);// 设置where条件criteria.where(builder.equal(root.get("id"), id));// 创建query 查询Query<Department> query = session.createQuery(criteria);// 返回结果Department department = query.getSingleResult();transaction.commit();return department;} catch (Exception e) {e.printStackTrace();transaction.rollback();}return null;}
hibernate criteria 统计查询
/*** 查询部门总数* 2018年10月11日* @return 部门总数*/public Integer totalDepartment () {Session session = HibernateUtils.getSession();Transaction transaction = session.getTransaction();try {transaction.begin();CriteriaBuilder builder = session.getCriteriaBuilder();// 参数为查询的结果类型CriteriaQuery<Long> criteria = builder.createQuery(Long.class);// 从什么表查询Root<Department> root = criteria.from(Department.class);// 就是sql select 之后的语句 criteria.select(builder.count(root));// 使用query 实现查询Query<Long> query = session.createQuery(criteria);// 结果集Long result = query.uniqueResult();transaction.commit();return result.intValue();} catch (Exception e) {e.printStackTrace();transaction.rollback();}return null;}
这篇关于Hibernate5.3 criteria使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!