基于JPQL实现纯SQL语句方法详解

发布时间:2022-04-18 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了基于JPQL实现纯SQL语句方法详解脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。

JPQL全称Java PErsistence Query Language。

基于首次在EJB2.0中引入的EJB查询语言(EJB QL),Java持久化查询语言(JPQL)是一种可移植的查询语言,旨在以面向对象表达式语言的表达式,将SQL语法和简单查询语义绑定在一起·使用这种语言编写的查询是可移植的,可以被编译成所有主流数据库服务器上的SQL。

其特征与原生SQL语句类似,并且完全面向对象,通过类名和属性访问,而不是表名和表的属性。

使用JPQL,需要把SQL语句修改成类似HQL 语句。SQL 查询的是数据库,而JPQL 查询的是对象和属性,在语法上是有些不同的。对于有些用JPQL 无法写出来的查询,还是使用原生SQL写出来方便

以下给出一个例子,注意语法的区别:

JPQL查询

@PersistenceContext
PRotected EntITyManager em;

public List<Video> findVideoList1() {
  String hql = "From Video order by id desc";
  Query query = em.createQuery(hql);
  List<Video> result = query.getResultList();
  em.clear();
  return result;
}

SQL查询

查询最近7天的数据

public List<Video> findVideoList2() {
  List<Video> result = (List<Video>) em.createNativeQuery
    ("select * from db_video where date_sub(curdate(), interval 6 day) <= date(date) order by date desc", Video.class)
    .getResultList();
  return result;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本宝典。

脚本宝典总结

以上是脚本宝典为你收集整理的基于JPQL实现纯SQL语句方法详解全部内容,希望文章能够帮你解决基于JPQL实现纯SQL语句方法详解所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。