![](/img/trans.png)
[英]How to implement custom method of CrudRepository in Spring boot 2.0?
[英]How to implement only specific method of CrudRepository in Spring?
我正在使用 spring-data-jpa 的CrudRepository
來定義一個實體的接口,然后擁有所有標准的 crud 方法而無需顯式提供實現,例如:
public interface UserRepo extends CrudRepository<User, Long> {
}
雖然現在我只想覆蓋自定義實現中的save()
方法。 我怎么能做到這一點? 因為,如果我實現接口UserRepo
,我就必須實現從接口CrudRepository
繼承的所有其他 CRUD 方法。
我不能編寫自己的實現,它具有所有 CRUD 方法但只覆蓋一個而不必自己實現所有其他方法嗎?
你可以做一些非常相似的事情,我相信這會達到你想要的結果。
必要步驟:
UserRepo
現在將擴展 2 個接口:
公共接口 UserRepo 擴展 CrudRepository<User, Long>, UserCustomMethods{
}
創建一個名為UserCustomMethods
的新接口(您可以在此處和步驟 1 中選擇名稱並進行更改)
公共接口 UserCustomMethods{ public void mySave(User... users);
}
創建一個名為新類UserRepoImpl
(這里的名稱事情做,它應該是RepositoryName默認地將Impl,因為如果你把它叫做別的東西,你就需要相應地調整了Java / XML配置)。 此類應僅實現您創建的CUSTOM接口。
提示:您可以在此類中為您的查詢注入 entitymanager
public class UserRepoImpl implements UserRepo {
//This is my tip, but not a must...
@PersistenceContext
private EntityManager em;
public void mySave(User... users){
//do what you need here
}
}
UserRepo
,並享受 CRUD 和您的自定義方法:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.