使用Spring Data Repositories 執行原始SQL 查詢
雖然Spring Data Repositories 中的@Query 註解通常使用基於實體的查詢,但它是可以使用nativeQuery標誌執行原始SQL查詢。將此標誌設為 true 可以在儲存庫方法中直接執行 SQL。
<code class="java">@Query(value = "SELECT * FROM table_name", nativeQuery = true) List<Object[]> executeNativeQuery();</code>
在此範例中,@Query 註解中的 nativeQuery 標誌設定為 true。這允許查詢執行本機 SQL,以 Object[][] 陣列的形式傳回結果。
或者,Spring Data JPA 也支援命名本機查詢。此方法允許您在資源檔案(例如 *.sql 檔案)中定義本機查詢並使用命名查詢註解來引用它們。例如:
<code class="java">@NamedNativeQuery(name = "findByName", query = "SELECT * FROM table_name WHERE name = :name") interface UserRepository { @Query("findByName") List<User> findByName(@Param("name") String name); }</code>
在此範例中,findByName 方法使用命名本機查詢根據使用者的姓名尋找使用者。命名查詢在*.sql 檔案中定義如下:
<code class="sql">SELECT * FROM table_name WHERE name = :name;</code>
透過利用nativeQuery 標誌或命名本機查詢,可以將原始SQL 查詢合併到Spring Data Repositories 中,從而提供執行的靈活性各種資料庫操作。
以上是如何使用 Spring Data Repository 執行原始 SQL 查詢?的詳細內容。更多資訊請關注PHP中文網其他相關文章!