JPQL全称Java Persistence Query Language。

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

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

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

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

JPQL查询

@PersistenceContextprotected 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;}

查询最近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;}

更多相关文章

  1. MySQL系列多表连接查询92及99语法示例详解教程
  2. Android(安卓)- Manifest 文件 详解
  3. Android的Handler机制详解3_Looper.looper()不会卡死主线程
  4. Selector、shape详解(一)
  5. Android(安卓)-- Android(安卓)JUint 与 Sqlite
  6. android 当系统存在多个Launcher时,如何设置开机自动进入默认的La
  7. android2.2资源文件详解4--menu文件夹下的菜单定义
  8. Android发送短信方法实例详解
  9. Android(安卓)读取资源文件实例详解

随机推荐

  1. mac添加android的adb等工具到环境变量
  2. android 中文 api (71) ―― BluetoothServ
  3. React native Android(安卓)命令 打包apk
  4. 51. (android开发)线性布局、相对布局、
  5. Android札记
  6. 关于“Only the original thread that cr
  7. Android换肤机制
  8. Android点击事件的四种写法
  9. Android编程: 环境搭建、基本知识
  10. 杂七杂八2