์คํ๋ง ๋ฐ์ดํฐ JPA๋ฅผ ์ฐ๋ฉด ๋ฆฌํฌ์งํ ๋ฆฌ์ ๊ตฌํ ํด๋์ค ์์ด ์ธํฐํ์ด์ค๋ง์ผ๋ก ๊ฐ๋ฐ์ ์๋ฃํ ์ ์๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฐ๋ณต ๊ฐ๋ฐํด์จ ๊ธฐ๋ณธ CRUD ๊ธฐ๋ฅ๋ ์คํ๋ง ๋ฐ์ดํฐ JPA๊ฐ ๋ชจ๋ ์ ๊ณตํจ. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ ๊ฒฝ์ฐ ์คํ๋ง ๋ฐ์ดํฐ JPA ๋ฅผ ์ฌ์ฉํ๋ค. (์ค์ ์ ์์ JPA ์ค์ ๊ณผ ๋์ผ)
์คํ๋ง ๋ฐ์ดํฐ JPA ์ ๊ณต ๊ธฐ๋ฅ
- ์ธํฐํ์ด์ค๋ฅผ ํตํ ๊ธฐ๋ณธ์ ์ธ CRUD
- findByName() , findByEmail() ์ฒ๋ผ ๋ฉ์๋ ์ด๋ฆ ๋ง์ผ๋ก ์กฐํ ๊ธฐ๋ฅ ์ ๊ณต
- ํ์ด์ง ๊ธฐ๋ฅ ์๋ ์ ๊ณต
- ์คํ๋ง ๋ฐ์ดํฐ JPA ํ์ ๋ฆฌํฌ์งํ ๋ฆฌ (์ธํฐํ์ด์ค)
package hello.hello_spring.repository;
import hello.hello_spring.domain.Member;
import org.springframework.data.jpa.repository.JpaRepository;
import java.util.Optional;
public interface SpringDataJpaMemberRepository extends JpaRepository<Member, Long>, MemberRepository { //์ธํฐํ์ด์ค๋ ๋ค์ค์์ ๊ฐ๋ฅ
//JPQL => select m from Member m where m.name = ?
@Override
Optional<Member> findByName(String name);
// * ์คํ๋ง ๋ฐ์ดํฐ JPA
// ์ธํฐํ์ด์ค๋ฅผ ํตํ ๊ธฐ๋ณธ์ ์ธ CRUD์ ๋ํ ๊ธฐ๋ฅ ์ ๊ณต
// findByName(), findByEmail() ์ฒ๋ผ ๋ฉ์๋ ์ด๋ฆ๋ง์ผ๋ก ์กฐํ ๊ธฐ๋ฅ ์ ๊ณต
// ํ์ด์ง ๊ธฐ๋ฅ ์๋ ์ ๊ณต
}
- ์คํ๋ง ๋ฐ์ดํฐ JPA ํ์ ๋ฆฌํฌ์งํ ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋๋ก ์คํ๋ง ์ค์ ๋ณ๊ฒฝ (SpringConfig)
package hello.hello_spring;
import hello.hello_spring.repository.MemberRepository;
import hello.hello_spring.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class SpringConfig {
private final MemberRepository memberRepository;
@Autowired
public SpringConfig(MemberRepository memberRepository) {
this.memberRepository = memberRepository;
}
@Bean
public MemberService memberService() {
return new MemberService(memberRepository); //memberRepository ํ๋ผ๋ฏธํฐ๋ก ๋ฃ์
}
}
- MemberServiceIntegrationTest ํตํฉํ ์คํธ ์ฑ๊ณตํ๋ฉด ์ ์ ์ฝ๋
'๋ฐฑ์๋(Back-End) ๊ฐ๋ฐ > SpringBoot' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SpringBoot] STS3 / jdk-11 ์ค์นํ๊ธฐ (0) | 2025.03.05 |
---|---|
[SpringBoot] 7_AOP(๊ด์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ) (0) | 2025.02.27 |
[SpringBoot] 6.5_JPA (0) | 2025.02.26 |
[SpringBoot] 6.4_์คํ๋ง JdbcTemplate (0) | 2025.02.26 |
[SpringBoot] 6.3_์คํ๋ง ํตํฉ ํ ์คํธ (DB์ฐ๊ฒฐ) (0) | 2025.02.26 |