作者:哭着说再见0 | 来源:互联网 | 2023-10-12 20:52
1. 什么是HQL?
Hibernate独家查询语言,属于面向对象的查询语言,
编写HQL的时候,不需要写数据库表中字段,而是写属性的名称
HQL是Hibernate Query Language即Hibernate查询语言
[select/update/delete……] from Entity [where……] [group by……] [having……] [order by……]
2. 为什么使用HQL
不需要再编写繁复的SQL 语句,针对实体类及其属性进行查询
查询结果是直接存放在List 中的对象,不需要再次封装
独立于数据库(针对不同数据库进行查询,跨数据库,Mysql->Oracle),
对不同的数据库根据Hibernate dialect 属性的配置自动生成不同的SQL 语句执行
3. 怎么使用HQL语句
(1) 获取Session对象
(2) 编写HQL语句;
(3) 创建Query对象;
(4) 执行查询,得到查询结果。
4.HQL和SQL的区别
hql语句和sql语句的区别:hql语句是面向对象的
hql : FROM user where id='1';
sql : FROM TB_USER where id= '1'
(hql直接拿到数据库是没法运行的 因为它面向对象 而sql可以 因为他是面向数据库)
entityManager.createQuery();这方法执行hql语句
entityManager.createNativeQuery();这个方法执行sql语句