查询可以不要提交事务
HQL 查询与 SQL查询的区别
SQL:查询的是表以及字段 语句不区分大小写
HQL:hibernate query language hibernate提供的面向对象的查询语言 语句区分大小写
HQL查询
查询全部
//HQL查询,查询全部,对象名区分大小写
Query q = session.createQuery("from Employee"); List<Employee> list = q.list(); System.out.println(list);
查询指定
Query q = session.createQuery("from Employee where empId = 1 or empId = 2"); List<Employee> list = q.list(); System.out.println(list);
Crteria查询(没有sql基础的查询)
完全面向对象的查询
QBC query by criteria 完全面向对象的查询
本地SQL查询
复杂的查询,就要使用原生的sql查询
@Test public void testSQL() throws Exception{ Session session = sf.openSession(); Transaction tx = session.beginTransaction(); SQLQuery sqlQuery = session.createSQLQuery("SELECT * FROM employee").addEntity(Employee.class); List list = sqlQuery.list(); System.out.println(list); tx.commit(); session.close(); }
缺点,不能跨数据平台