91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

@Query注解的原生用法以及native用法介紹

發布時間:2021-08-27 17:16:11 來源:億速云 閱讀:221 作者:chen 欄目:開發技術

這篇文章主要講解了“@Query注解的原生用法以及native用法介紹”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“@Query注解的原生用法以及native用法介紹”吧!

目錄
  • @Query注解的原生用法和native用法

    • 1. @Query原生用法

    • 2. @Query的native查詢用法

  • 有nativeQuery = true和沒有的區別

    • 有nativeQuery = true時

    • 沒有nativeQuery = true時

@Query注解的原生用法和native用法

1. @Query原生用法

@Query(value = "select u.id, u.name from User u, town t where u.id = t.id and t.place =:name")
User findUserByPlace(@Param("place") String place);
 
@Query(value = "select new User(u.id, u.name) from User u, town t where u.id = t.id and t.place = ?1") 
User UsergetUserByPlace(String place);

上面兩個方法的效果是一樣的,這是原生方法。

2. @Query的native查詢用法

@Query(value="select * from user u, town t where u.id = t.id and t.place = ?1", nativeQuery = true)
User UsergetUserByPlace(String place);

@Query的native的查詢方法要增加nativeQuery = true,默認是false,這樣查詢的時候就是使用原生的sql語句進行查詢數據庫的操作。

有nativeQuery = true和沒有的區別

有nativeQuery = true時

是可以執行原生sql語句,所謂原生sql,也就是說這段sql拷貝到數據庫中,然后把參數值給一下就能運行了,比如:

@Query(value = "select * from product_rel where audit_id=?1 and process_object=0 ",nativeQuery = true)
List<ProductRel> findAllByProductAuditId(Integer id);

這個時候,把select * from product_rel where audit_id=?1 and process_object=0拷貝到數據庫中,并給audit_id賦一個值,那么這段sql就可以運行。其中數據庫表在數據庫中的表名就是product_rel,字段audit_id在數據庫中也是真實存在的字段名。

沒有nativeQuery = true時

就不是原生sql,而其中的select * from xxx中xxx也不是數據庫對應的真正的表名,而是對應的實體名,并且sql中的字段名也不是數據庫中真正的字段名,而是實體的字段名。例如:

@Query("select ratio from MdmRatio ratio  where enabledNum=1 ")
List<MdmUtilThreeProjection> findByMdmUtilThreeProjection();

@Query注解的原生用法以及native用法介紹

此中,select ratio from MdmRatio ratio 中的MdmRatio為實體名,不是真正的數據庫表名,真正的數據庫表名是mdm_ratio(如上圖@Table里面寫的那樣,MdmRatio實體對應的數據庫表名是mdm_ratio。

但不一定都是這樣的,可能你的MdmRatio實體對應的數據庫表是mdm_ratio_abc,但whatever,隨便是什么,只要它真實存在就Ok),而查詢條件中的enabledNum在數據庫中真正的名字是enabled_num。

這兩個的作用是一樣的,只是寫法不同而已。涉及到HQL的知識。

感謝各位的閱讀,以上就是“@Query注解的原生用法以及native用法介紹”的內容了,經過本文的學習后,相信大家對@Query注解的原生用法以及native用法介紹這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

肥西县| 津南区| 湖口县| 朝阳区| 寿宁县| 宁都县| 新密市| 海城市| 翼城县| 贡觉县| 彭泽县| 东兴市| 甘泉县| 山西省| 凤阳县| 古丈县| 江孜县| 胶南市| 建始县| 连城县| 江陵县| 买车| 左贡县| 天台县| 定南县| 商水县| 泰和县| 通州市| 江西省| 澄城县| 广丰县| 朝阳县| 兰州市| 延庆县| 淮滨县| 惠安县| 电白县| 西宁市| 大田县| 民乐县| 浦江县|