如何使用JPQL寫純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;
}

 

原創文章,歡迎轉載,轉載請注明出處!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM