JPQL全稱Java Persistence Query Language。
基于首次在EJB2.0中引入的EJB查詢語言(EJB QL),Java持久化查詢語言(JPQL)是一種可移植的查詢語言,旨在以面向?qū)ο蟊磉_式語言的表達式,將SQL語法和簡單查詢語義綁定在一起·使用這種語言編寫的查詢是可移植的,可以被編譯成所有主流數(shù)據(jù)庫服務(wù)器上的SQL。
其特征與原生SQL語句類似,并且完全面向?qū)ο?,通過類名和屬性訪問,而不是表名和表的屬性。
使用JPQL,需要把SQL語句修改成類似HQL 語句。SQL 查詢的是數(shù)據(jù)庫,而JPQL 查詢的是對象和屬性,在語法上是有些不同的。對于有些用JPQL 無法寫出來的查詢,還是使用原生SQL寫出來方便
以下給出一個例子,注意語法的區(qū)別:
JPQL查詢
@PersistenceContext
protected EntityManager em;
public ListVideo> findVideoList1() {
String hql = "from Video order by id desc";
Query query = em.createQuery(hql);
ListVideo> result = query.getResultList();
em.clear();
return result;
}
SQL查詢
查詢最近7天的數(shù)據(jù)
public ListVideo> findVideoList2() {
ListVideo> result = (ListVideo>) em.createNativeQuery
("select * from db_video where date_sub(curdate(), interval 6 day) = date(date) order by date desc", Video.class)
.getResultList();
return result;
}
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:- JPA之使用JPQL語句進行增刪改查
- mysql5.7.19 解壓版安裝教程詳解(附送純凈破解中文版SQLYog)
- 純Python開發(fā)的nosql數(shù)據(jù)庫CodernityDB介紹和使用實例
- 3步搞定純真IP數(shù)據(jù)導(dǎo)入到MySQL的方法詳解
- 用純CSS+DIV寫的漂亮Flash幻燈片及SQL標簽教程!
- SQL刪除語句DROP、TRUNCATE、 DELETE 的區(qū)別
- mybatis-plus配置控制臺打印完整帶參數(shù)SQL語句的實現(xiàn)
- 在IDEA中安裝MyBatis Log Plugin插件,執(zhí)行mybatis的sql語句(推薦)