JPA 적용
1. 환경설정 적용
의존성 추가
build.gradle에 추가
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
application.properties
spring.jpa.show.sql=true
spring.jpa.hibernate.ddl-auto=none
Model Domain 클래스
어노테이션 추가
@Entity -> JPA에서 관리할 객체 선언
컬럼 변수
@Id -> 객체의 PrimaryKey 선언
@GeneratedValue(strategy = GenerationType.IDENTITY) -> 기본키 생성을 데이터베이스에 위임
DB가 알아서 Auto_Increment해줌
MySql, PostgreSQL, H2 등에서 사용
Repository 클래스 변경
EntityManager 중요!
EntityManager 변수 생성 후 Repository 생성자에 매개변수로 추가
private final EntityManager em;
public JpaMemberRepository(EntityManager em){
this.em = em;
}
repository join메소드 변경
@Override
public Member save(Member member) {
em.persist(member);
return member;
}
영속성 컨텍스트에 member정보 저장
em.find를 통한 조회
@Override
public Optional<Member> findById(Long id) {
Member member = em.find(Member.class, id);
return Optional.ofNullable(member);
}
em.createQuery를 통한 조회
@Override
public Optional<Member> findByName(String name) {
List<Member> result = em.createQuery("select m from Member m where m.name = :name",
Member.class).setParameter("name",name).getResultList();
return result.stream().findAny();
}
Author And Source
이 문제에 관하여(JPA 적용), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@tjdrhd1207/JPA-적용저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)