Spring Data JPA では findByLastname など自動でメソッドを生成してくれる機能があります。こちらの記事が詳しく記載されています。
【Spring Data JPA】自動実装されるメソッドの命名ルール – Qiita
様々なクエリを自動実装してくれていますが、それでも自分で作成した SQL を実行したいことがあります。
そんなときには @Query を使用して、SQLとメソッドをマップさせます。
Repositoryインターフェース で次のように記載します。これでいつもどおり Autowired してメソッドを使用することが出来ます。
public interface UserRepository extends JpaRepository<User, Long> { @Query("select u from User u where u.emailAddress = ?1") User findByEmailAddress(String emailAddress); }