gpt4 book ai didi

java - 在扩展 customRepository 的接口(interface)上必须使用哪个 springboot 注释来覆盖 save() 方法?

转载 作者:太空宇宙 更新时间:2023-11-04 09:42:04 26 4
gpt4 key购买 nike

我正在使用 spring boot 2.1.2,并且有一个扩展 CrudRepository 的 CustomerRepository,现在要重写 save 方法(在调用 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);
}
}

注意:忽略命名,这只是一个示例。我希望每个类和接口(interface)在需要的地方都用 spring (或其他注释,如 lombok javax 等)进行注释,因此出现了问题。

最佳答案

您可以尝试覆盖 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)

interface CustomerRepository extends CrudRepository<Customer, Integer>, CustomizedSave<Customer> {
}

关于java - 在扩展 customRepository 的接口(interface)上必须使用哪个 springboot 注释来覆盖 save() 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55863374/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com