我使用的是彈簧數據的JPA的CrudRepository
只是定義實體的接口,然後讓所有的標準CRUD方法,而不必明確提供一個實現,如:如何在Spring中只實現CrudRepository的特定方法?
public interface UserRepo extends CrudRepository<User, Long> {
}
雖然現在我想喜歡在我的自定義實現中僅覆蓋save()
方法。我怎麼能做到這一點?因爲,如果我實現了接口UserRepo
,我必須實現從接口CrudRepository
繼承的所有其他CRUD方法。
我不能編寫自己的實現,它具有所有的CRUD方法,但是隻覆蓋一個,而不必自己實現所有其他實現?
所以爲了我只需要聲明/實現UserCustomMethods/UserRepoImpl?中的save方法就可以覆蓋save方法。你在這裏給出的例子顯示了一個額外的方法,但這是否也適用於現有的方法? – coderatchet
是的,您可以添加方法到您的自定義界面,使用默認方法的相同簽名,您可以在實現自定義界面的Impl類中實現它們:以這種方式,Spring Data將使用您的自定義實現,而不是默認的一個。至少這對我來說適用於Spring Data JPA 1.7.2中的刪除方法。 –
如何在UserRepoImpl :)中使用UserRepo的非自定義方法(由spring數據自動提供)? – bodrin