Controller - insert

@Controller
public class **HomeController** {
	@Autowired
	private MemberService memberService;
	
	@PostMapping("/join")
	public String join(JpaMember member) {
		memberService.**save**(member);
		return "home";
	}
}
@Service
@RequiredArgsConstructor // 여기 있는 모든 것에 대해 생성자를 만들어줌
public class **MemberService** {
	// final 과 @RequiredArgsConstructor 같이 쓰면 @Autowired 와 같은 역할
	private final MemberRepository memberRepository;
	
	// 추가
	public void save(JpaMember member) {
		memberRepository.**save**(member); // insert 할거면 꼭 save 라고 해야돼 -> 규칙을 잘 지켜야함
	}

}
// <내가 쓸 것(?), 기본키의 형태>
public interface **MemberRepository** extends JpaRepository<JpaMember, Long>{

}

출처: https://jobc.tistory.com/120

어떻게 동작하는지 알아보자

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/555da103-82d5-4656-8654-eff36afbe051/Untitled.png

submit 버튼을 누르면 콘솔에 아래와 같이 뜬다

설정 파일의 spring.jpa.show-sql=true

이 부분 때문임

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/ff9a27eb-25ce-40a1-90ea-2b8a6f847ca4/Untitled.png

🤔 Hibernate 는 머람?

JPA 라는 명세(인터페이스?)의 구현체

JPA와 Hibernate는 마치 자바의 interface와 해당 interface를 구현한 class와 같은 관계

출처 : https://suhwan.dev/2019/02/24/jpa-vs-hibernate-vs-spring-data-jpa/