In this chapter, we have learned that we can add custom functionality either to a single repository or to all repositories. However, this chapter also had another very important lesson. We noticed that adding custom functionality to repositories increases the complexity of our application and forces us to write boilerplate code that can be cumbersome to both implement and maintain. That is why we should use the techniques described in this chapter only when it is absolutely necessary.
This was the last chapter that describes the usage of Spring Data JPA. In the next chapter, we will learn how we can install Redis on a computer that runs a Unix-like operating system and set up a web application project that uses Redis as a data storage.