日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

在@NamedQueries中枚举@NamedQuery

發布時間:2023/12/3 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 在@NamedQueries中枚举@NamedQuery 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

介紹

如果您是使用JPA的Java開發人員,則很可能在實體上聲明了一個或多個@NamedQuery對象。

要在類上聲明@NamedQuery ,必須使用查詢名稱及其JPQL對該類進行簡單注釋,例如:

@Entity @NamedQuery(name = "findAllProjects",query = "select p from Project p order by p.id") public class Project

但是,如果我們想聲明多個@NamedQuery批注,注釋,我們用類@NamedQueries批注,然后包含集合@NamedQuery注釋,如下所示:

@Entity @NamedQueries({ @NamedQuery(name = "findAllProjects",query = "select p from Project p order by p.id"),@NamedQuery(name = "findById",query = "select p from Project p where p.id=:id") }) public class Project

枚舉@NamedQuery批注

創建具有多個@NamedQuery批注的實體后,如何檢查類中存在哪些批注?

幸運的是,使用反射,枚舉類中的注釋并找到有關它們的詳細信息是一件相當簡單的事情,如以下代碼所示。

NamedQueries annotation = Project.class.getAnnotation(NamedQueries.class); for (Annotation annot : annotation.value()) {System.out.println(annot.toString());for (Method method : annot.annotationType().getDeclaredMethods()) {if (method.getName().equalsIgnoreCase("name") ||method.getName().equalsIgnoreCase("query")) {try {String result = method.getName() + " : " + method.invoke(annot, null).toString();System.out.println(result);} catch (IllegalAccessException | IllegalArgumentException| InvocationTargetException e) {// Oops - something has gone wrong.break;}}} }

運行上面的代碼將產生以下輸出:

@javax.persistence.NamedQuery(lockMode=NONE, hints=[], name=findAllProjects, query=select p from Project p order by p.id) name : findAllProjects query : select p from Project p order by p.id@javax.persistence.NamedQuery(lockMode=NONE, hints=[], name=findById, query=select p from Project p where p.id=:id) name : findById query : select p from Project p where p.id=:id

翻譯自: https://www.javacodegeeks.com/2015/03/enumerating-namedquery-within-namedqueries.html

總結

以上是生活随笔為你收集整理的在@NamedQueries中枚举@NamedQuery的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。