Udemy Course Spring Framework 46-Spring JPA CRUD-NameQuery(JPQL)!

ZONGRU Li
2 min readMar 21, 2019

--

JPA NameQuery(自定義Query) JPQL(Java Persistence Query Language)

目前Speing JDBC可以做到的SQL Query在JPA還差一個findAll

我們將使用可以自定義的SQL Query

在PersonJpaRepository內建立新的findAll Method

上面的findAll()方法內使用了entityManager.createNamedQuery

後面參數代入了一個String與對應的Person Entity

該String:"find_all_persons"將會對應以下Person class內改寫的內容如下:

其實就多@NamedQuery這行:

有試過select p from Person p若打成select p from person p

會報錯!!

因為那邊看起來像SQL句但實際上是要給JPA看的,其中的Person指Entity

同樣在JPADemoApplication加入呼叫新的findAll方法

執行得:

以上建立的SQL我們稱之為JPQL(Java Persistence Query Language)

給一個Query一個特別的名字(在這裡我們定了一個叫"find_all_persons")

然後使用他!!

--

--

ZONGRU Li
ZONGRU Li

Written by ZONGRU Li

2022/11/17 開源部分個人筆記給LINE "Java程式語言討論區"社群,希望能對社群的技術學習做一點點貢獻.(掩面....記得退訂閱!

No responses yet