使用JPQL實現(xiàn)純SQL語句的方法?相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。
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