欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

基于JPQL實(shí)現(xiàn)純SQL語句方法詳解

 更新時間:2020年09月24日 10:58:21   作者:賈樹丙  
這篇文章主要介紹了基于JPQL實(shí)現(xiàn)純SQL語句方法詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下

JPQL全稱Java Persistence Query Language。

基于首次在EJB2.0中引入的EJB查詢語言(EJB QL),Java持久化查詢語言(JPQL)是一種可移植的查詢語言,旨在以面向?qū)ο蟊磉_(dá)式語言的表達(dá)式,將SQL語法和簡單查詢語義綁定在一起·使用這種語言編寫的查詢是可移植的,可以被編譯成所有主流數(shù)據(jù)庫服務(wù)器上的SQL。

其特征與原生SQL語句類似,并且完全面向?qū)ο?,通過類名和屬性訪問,而不是表名和表的屬性。

使用JPQL,需要把SQL語句修改成類似HQL 語句。SQL 查詢的是數(shù)據(jù)庫,而JPQL 查詢的是對象和屬性,在語法上是有些不同的。對于有些用JPQL 無法寫出來的查詢,還是使用原生SQL寫出來方便

以下給出一個例子,注意語法的區(qū)別:

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天的數(shù)據(jù)

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

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論