Rumah >Java >javaTutorial >Bagaimana untuk Menambah Kaedah Tersuai ke Repositori JPA Data Spring?

Bagaimana untuk Menambah Kaedah Tersuai ke Repositori JPA Data Spring?

Patricia Arquette
Patricia Arquetteasal
2024-12-03 02:18:13947semak imbas

How to Add Custom Methods to Spring Data JPA Repositories?

Menambahkan Kaedah Tersuai pada Spring Data JPA

Spring Data JPA menyediakan kaedah CRUD dan pencari luar untuk entiti anda. Untuk melanjutkan keupayaan ini dengan kaedah tersuai, berikut ialah cara anda melakukannya:

Mencipta Antara Muka Kaedah Tersuai

Antara muka repositori anda, seperti contoh AccountRepository, mengendalikan kefungsian lalai. Untuk menambah kaedah tersuai, cipta antara muka berasingan yang memanjangkan antara muka kaedah tersuai:

public interface AccountRepositoryCustom {
    public void customMethod();
}

Pelaksanaan Kaedah Tersuai

Sediakan kelas pelaksanaan untuk antara muka kaedah tersuai:

public class AccountRepositoryImpl implements AccountRepositoryCustom {

    @Autowired
    @Lazy
    AccountRepository accountRepository;  // Optional if needed

    public void customMethod() { ... }
}

Repositori dengan Tersuai Kaedah

Antara muka repositori anda kini memanjangkan antara muka tersuai:

public interface AccountRepository 
    extends JpaRepository<Account, Long>, AccountRepositoryCustom { ... }

Sumber:

  • [Repositori Tersuai Pelaksanaan](https://docs.spring.io/spring-data/jpa/docs/current/reference/html/#custom-implementations)
  • [Nota tentang Perubahan Skim Penamaan](https:// stackoverflow.com/a/52624752/66686)

Atas ialah kandungan terperinci Bagaimana untuk Menambah Kaedah Tersuai ke Repositori JPA Data Spring?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn