1. 程式人生 > >如何使用JPQL寫純SQL語句

如何使用JPQL寫純SQL語句

nag sql查詢 bsp div ring esc des 數據 一個

  使用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語句