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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

JPA 中 sql 预编译 -- EntityManager 使用 预编译

發布時間:2023/12/18 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JPA 中 sql 预编译 -- EntityManager 使用 预编译 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。

實現方式 :

1. 注入em:

@PersistenceContextprivate EntityManager entityManager;

注入方式 2:

@PersistenceUnitprivate EntityManagerFactory emf;

?

2. 得到em:

private EntityManager getEm() {return this.entityManager;}

對應第2種注入方式:

/*** 得EntityManager** @return*/private EntityManager getEm() {return emf.createEntityManager();}

3.預編譯寫法:

EntityManager em = getEm();String getAllTask = "SELECT ID,DEPARTMENT,WBS,CODE,NAME,PARENT_CODE FROM GAEI_WORK_TASK" +" WHERE WBS = ? AND DEPARTMENT = ? ";Query query = em.createNativeQuery(getAllTask);query.setParameter(1, wbs);query.setParameter(2, ((Department) userService.getSecondDepartmentByUserId(uid)).getId());List<Object> taskList = query.getResultList();

4. 附上原本查詢寫法:( 建議參數都改為走預編譯 )

String sql = " SELECT" +" pro.id," +" pro.CODE," +" pro.PROJECT_NAME," +" pro.PROJECT_DIRECTOR_NO 'PROJECT_DIRECTOR_NO.id'," +" pro.source," +" gaei_pro.WBS," +" app_user.fullname 'PROJECT_DIRECTOR_NO.fields'," +" gaei_pro.STATUS" +" FROM" +" GAEI_PROJECT pro" +" LEFT JOIN appbricks_user app_user ON gaei_pro.PROJECT_DIRECTOR_NO = app_user.id" +" WHERE app_user.id = '" + approveId + "'" +" ORDER BY pro.CODE ASC";List<Object> resultList = getResultList(em, sql);

?

// 執行查詢public static <T> List<T> getResultList(EntityManager em, String sql) {List<T> resultList = em.createNativeQuery(sql).getResultList();return resultList;}



?

總結

以上是生活随笔為你收集整理的JPA 中 sql 预编译 -- EntityManager 使用 预编译的全部內容,希望文章能夠幫你解決所遇到的問題。

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