我使用的是Spring Boot 2.1.2,并具有扩展CrudRepository的CustomerRepository,现在要覆盖save方法(在调用保存之前执行某些操作),我创建了CustomerInterface并扩展了CustomerRepository。 现在在CustomerRepository上,我有@Repository。 CustomerInterface的注释应该是什么。
我已经尝试过@Transactional,但这在这里使用得最好吗?
@Repository
public interface CustomerRepository extends CrudRepository<Customer, Integer> {
Customer save(Customer customer);
}
public interface PolicyStatusDao extends PolicyIdRepository {
default void extractReport(Customer customer) {
// do something
save(customer);
}
}
注意:忽略命名,只是一个例子。 我希望每个类和接口都在需要的地方用spring注释(或其他注释,例如lombok javax等),因此是个问题。
答案 0 :(得分:0)
您可以尝试覆盖SAVE
interface CustomizeSave<T> {
<S extends T> S save(S entity);
}
class CustomizeSaveImpl<T> implements CustomizeSave<T> {
public <S extends T> S save(S entity) {
// Your implementation goes here. Customize
}
}
这是自定义存储库界面
interface CustomerRepository extends CrudRepository<Customer, Integer>, CustomizedSave<Customer> {
}