인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

나벨님의 프로필 이미지
나벨

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

H2 데이터베이스 설치

H2 데이터베이스 member 테이블 생성이 안 돼요

작성

·

78

·

수정됨

1

테스트 코드는 오류 없이 초록불이 뜨는데 DB 내 테이블 생성이 안 됩니다. 강사님의 다른 강의와, 응용 프로젝트를 만들어 볼 땐 잘 됐어서 자주 묻는 질문들을 참고해도 어느 곳이 문제인지 잘 모르겠네요ㅠㅠ.. 일단 올려두고 계속 방법을 찾아보겠습니다!

 

스크린샷 2024-08-17 011718.png

 

 

package jpabook.jpashop;

import org.assertj.core.api.Assertions;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.annotation.Rollback;
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 memberRepository;

    @Test
    @Transactional
    @Rollback(false)
    public void testMember() throws Exception{
        //given
        Member member = new Member();
        member.setUsername("memberA");

        //when
        //ctrl+alt+v 변수 뽑기
        Long saveId = memberRepository.save(member);
        Member findMember = memberRepository.find(saveId);

        //then
        Assertions.assertThat(findMember.getId()).isEqualTo(member.getId());
        Assertions.assertThat(findMember.getUsername()).isEqualTo(member.getUsername());
        Assertions.assertThat(findMember).isEqualTo(member); //JPA 엔티티 동일성 보장
    }
}
spring:
  application:
    name: jpashop

#port번호 설정
server:
  port: 8050

#DB
  datasource:
    url: jdbc:h2:tcp://localhost/~/jpashop
    username: sa
    password:
    driver-class-name: org.h2.Driver

#JPA
  jpa:
    hibernate:
      ddl-auto: create 
    properties:
      hibernate:
        show_sql: true
        format_sql: true

logging:
  level:
    org.hibernate.SQL: debug
    org.hibernate.orm.jdbc.bind: trace

 

답변 1

2

안녕하세요. 나벨님, 공식 서포터즈 OMG입니다.

application.yml을 아래와 같이 변경해주세요. (띄어쓰기 주의)


spring:
  datasource:
    url: jdbc:h2:tcp://localhost/~/jpashop
    username: sa
    password:
    driver-class-name: org.h2.Driver

  #JPA
  jpa:
    hibernate:
      ddl-auto: create
    properties:
      hibernate:
        show_sql: true
        format_sql: true

logging:
  level:
    org.hibernate.SQL: debug
    org.hibernate.orm.jdbc.bind: trace
server:
  port: 8050
image.png

 

감사합니다.

나벨님의 프로필 이미지
나벨
질문자

서버포트 설정 위치가 잘못됐었던 거군요..! yml은 처음 써봐서 문제 인지를 못했네요 감사합니다!!

나벨님의 프로필 이미지
나벨

작성한 질문수

질문하기