public interface MemberRepository extends JpaRepository<Member, Long> {
List<Member> findByUserNameAndAgeGreaterThan(String username, int age);
List<Member> findHelloBy();
}
public class Member {
@Id
@GeneratedValue
@Column(name = "member_id")
private Long id;
private String name;//필드명 수정
private int age;
.
.
.
.
.
.
오류코드:

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'memberRepository' defined in stduy.datajpa.repository.MemberRepository defined in @EnableJpaRepositories declared on JpaRepositoriesRegistrar.EnableJpaRepositoriesConfiguration: Invocation of init method failed; nested exception is org.springframework.data.repository.query.QueryCreationException: Could not create query for public abstract java.util.List stduy.datajpa.repository.MemberRepository.findByUserNameAndAgeGreaterThan(java.lang.String,int); Reason: Failed to create query for method public abstract java.util.List stduy.datajpa.repository.MemberRepository.findByUserNameAndAgeGreaterThan(java.lang.String,int)! No property 'userName' found for type 'Member'; nested exception is java.lang.IllegalArgumentException: Failed to create query for method public abstract java.util.List stduy.datajpa.repository.MemberRepository.findByUserNameAndAgeGreaterThan(java.lang.String,int)! No property 'userName' found for type 'Member'
컴파일 과정에서 필드값이 변한것을 감지하고 오류를 내준다.
이를 통해 개발자는 필드 값이 변한것을 알 수 있고 해당 부분을 빠르게 발견하여 수정할 수 있다.
가장 좋은 오류는 컴파일할때 뜨는 오류이다!