Hibernate 单表查询(SQL,HQL,QBC)
实体类User
建立好的数据库
No.1 SQL查询
- 使用session的createSQLQuery方法来实现,这里要注意的是,要将数据库里的表转换为User对象,也就是实体类,所以要加上addEntity方法,才能将表转换为对象,否则会出现异常。
- 在session是通过openSession( )获得的情况下,查询可以不通过事务(Transaction) ,但是如果session是通过getCurrentSession( )获得的情况下,查询也必须开启事务。
- 具体实现方式:session.createSQLQuery(sql).addEntity(User.class).list();
查询结果
No.2 HQL查询 - HQL查询在HQL语法上和SQL不同,HQL语句的操作时针对Entity类的。
- String hql = “from User” 其中User指的是实体类,而不是数据表。
查询结果
No.3 QBC查询 - QBC查询是面向对象的,不用写查询语句。
查询结果