HQL是什么HQL和SQL的区别

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语句

 

你可能感兴趣的:(HQL是什么HQL和SQL的区别)