java如何在Spring中只实现Crudepository的特定方法?
我使用spring数据jpa的CrudRepository
来定义实体的接口,然后使用所有标准crud方法,而不必显式提供实现,例如:
public interface UserRepo extends CrudRepository<User, Long> {
}
尽管现在我只想在自定义实现中重写save()
方法。我怎样才能做到这一点?因为,如果我实现接口UserRepo
,我必须实现从接口CrudRepository
继承的所有其他CRUD方法
我不能自己编写一个实现,它包含所有CRUD方法,但只覆盖一个,而不必自己实现所有其他方法吗
# 1 楼答案
你可以做一些非常类似的事情,我相信这会达到你想要的结果强>
必要步骤:
UserRepo
现在将扩展2个接口:创建一个名为
UserCustomMethods
的新接口(您可以在此处和步骤1中选择名称并进行更改)创建一个名为
UserRepoImpl
的新类(这里的名称很重要,它应该是RepositoryNameImpl,因为如果调用其他名称,则需要相应地调整Java/XML配置)。此类应仅实现您创建的自定义接口提示:您可以在此类中插入entitymanager以用于查询
UserRepo
,并享受CRUD和您的自定义方法:)