본문 바로가기

Java

[JPA] Hibernate DB 연동

반응형

ddl-auto: create를 사용하면 서버를 띄움과 동시에 db를 생성해준다 .

spring: #띄어쓰기 없음 datasource: #띄어쓰기 2칸
  datasource:
    url: jdbc:h2:tcp://localhost/~/jpashop #4칸
    username: sa
    password:
    driver-class-name: org.h2.Driver

  jpa: #띄어쓰기 2칸
    hibernate: #띄어쓰기 4칸
      ddl-auto: create #띄어쓰기 6칸
    properties: #띄어쓰기 4칸
      hibernate: #띄어쓰기 6칸
        show_sql: true #띄어쓰기 8칸
        format_sql: true #띄어쓰기 8칸
logging.level: #띄어쓰기 없음
  org.hibernate.SQL: debug #띄어쓰기 2칸
# org.hibernate.type: trace #띄어쓰기 2칸

package jpabook.jpashop;

import org.assertj.core.api.Assertions;
import org.junit.jupiter.api.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.transaction.annotation.Transactional;

//import static org.junit.Assert.*;

@RunWith(SpringRunner.class)
@SpringBootTest
public class MemberRepositoryTest {
    @Autowired MemberRepository mr;



    @Test
    @Transactional
    public void testMember() throws Exception{
        //given
        Member m = new Member();
        m.setUsername("memberA");
        //when
        Long savaId = mr.save(m);
        Member findMember = mr.find(savaId);
        //then
        Assertions.assertThat(findMember.getId()).isEqualTo(m.getId());
        Assertions.assertThat(findMember.getUsername()).isEqualTo(m.getUsername());
    }

}

@Transactional 옵션이 테스트코드에있으면 테스트가 끝나고 테스트코드에서 생성하고 조작한 데이터들을 모두 rollback한다.

반응형

'Java' 카테고리의 다른 글

[JPA] 필요한것들 정리  (0) 2022.02.13
[JPA] 엔티티 설계  (1) 2022.02.04
[Spring] Prototye N Scope  (0) 2022.01.19
[Spring] Bean 생명주기  (1) 2022.01.08
[Spring] Bean 생명주기  (0) 2022.01.08