Spring:在CrudRepository中覆盖save方法

时间:2015-12-18 13:21:25

标签: java spring spring-data

我想在CrudRepository中的save方法中添加一些代码,但保留原始功能。之后保存方法应该执行之前的操作,保存到存储库但另外执行额外的操作。可能吗?如果是这样,我怎么能正确地做到这一点?

提前感谢您提供任何提示

修改

所以,我想创建这样的方法:

@Override
public default <S extends MyClass> S save(S myClassItem) {
    //here my functionality 
    super.save(myClassItem); //from CrudRepository
    return myClassItem;
}

1 个答案:

答案 0 :(得分:1)

我认为用这种方法(默认和覆盖)超级用户是不可能的。所以你必须改变方法的名称 - 这可能不是你想要的:

public interface TestRepository extends CrudRepository<MyClass, String> {

    default MyClass mySave(MyClass myClassItem) {
        save(myClassItem);
        return myClassItem;
    }
}