Bug Bounties

How does the JPA repository implementation get created

Im trying to understand what happens in a JPA repository and not treat it like a black box. Lets assume that I've got an interface that's extending JPA repository. ```java @Repository public interface TeamRepository extends JpaRepository<Team, Long> { } ``` As far as I understand JPA is just a specification and what we do is chose a provider which is compliant with it, I normally use Hibernate. From my understanding hibernate actually supplies an implementation of the JpaRepository. 1. I tried looking at the hibernate source code, by grepping the "findAll" method of in order to find an implementing class, but it has been used only in the unit tests trough SessionFactory. And while all of this helped me get some kind of a grasp on the inner workings, I still haven't found a concrete implementation and I'm starting to think that I'm missing something. 2. I tried looking at the target folder, but there are no generated sources. <br> How does the implementation get created, is there a concrete implementation in Hibernate, I have the feeling that I've simplified the concept and it's much more complex. <br> If that's the case can I find it's implementation in non-byte code form in an application that's using JPA repositories?