新增自建方法

本頁將講解在 JpaRepository 的自建方法。

Spring Data JPA 的自建方法有兩種,第一種是解析 method name 去執行 SQL Query,範例如下:

public interface UserRepository extends JpaRepository<User, String> {

    // exists -> 檢查是否存在 (返回 boolean)
    // User -> table User
    // ByUsername -> 根據 username 欄位
    // 參數 username -> 查詢參數
    boolean existsUserByUsername(String username);

}

更多的格式和寫法其實在 Spring Data JPA documentation 中已有提供,本頁便不多敘述。

Spring Data JPA 文件中第 6.3.2 部分擁有查詢的格式寫法列表。

自建擴展實作

本篇主要集中講述第二種,也就是自建擴展實作。

首先,你需要創建一個 Interface 並創建實作它的 class 。這邊例子將以自建兩個擴展實作:

public interface CustomARepo {

    void doSpecialThing(User user);

}

在上述範例中,我們創建了兩個 interface 並實作了它們。

然後,我們將在之前的例子 UserRepository 中,繼承它們。

最後,到主類註冊。這次註冊將會添加 自建實作擴展的 class。

使用

註冊後,你便可以透過注入 UserRepository 的方式使用自建的方法。

你可創建無限多個的擴展實作。

Last updated

Was this helpful?