강의

멘토링

로드맵

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

박현철님의 프로필 이미지
박현철

작성한 질문수

실전! 스프링 데이터 JPA

스프링 데이터 JPA와 DB 설정, 동작확인

테이블 생성이 안됩니다

작성

·

8.2K

2

안녕하세요 김영한님

ddl-auto : create 인데도

테이블이 생성되지 않아 질문드립니다

application.yml 정보입니다

spring:
datasource:
url: jdbc:h2:tcp://localhost/~/datajpa
username: sa
password:
driver-class-name: org.h2.Driver
jpa:
hibernate:
ddl-auto: create
properties:
hibernate:
# show_sql: true
format_sql: true
logging.level:
org.hibernate.SQL: debug
# org.hibernate.type: trace

build.gradle 정보입니다

plugins {
id 'org.springframework.boot' version '2.4.2'
id 'java'
}

apply plugin: 'io.spring.dependency-management'

group = 'study'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

configurations {
compileOnly {
extendsFrom annotationProcessor
}
}

repositories {
mavenCentral()
}

dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

test {
useJUnitPlatform()
}

member 클래스입니다

package study.datajpa.entity;

import lombok.Getter;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
@Getter
public class Member {

@Id
@GeneratedValue
private Long id;

private String username;

public Member() {
}

public Member(String username) {
this.username = username;
}
}

다음은 테스트입니다

@SpringBootTest
@Transactional
class MemberJpaRepositoryTest {

@Autowired
MemberJpaRepository memberJpaRepository;

@Test
public void 생성테스트() throws Exception {
//given
Member member = new Member("memberA");

//when
Member savedMember = memberJpaRepository.save(member);
Member findMember = memberJpaRepository.find(member.getId());

//then
assertThat(savedMember.getId()).isEqualTo(findMember.getId());

}
}

강의 극초반인데

테이블 생성이 안되어서 진행이 안되고 있습니다

찾아봐도 몰라서 질문 남깁니다

퀴즈

Spring Boot 프로젝트에서 특정 기능을 쉽고 빠르게 추가하기 위해 여러 의존성을 묶어 제공하는 것은 무엇일까요?

Gradle Wrapper

Spring Initializr

Spring Boot Starter

Lombok

답변 2

4

박현철님의 프로필 이미지
박현철
질문자

안녕하세요 해결했습니다

application.yml 에서

jpa 를 tab 으로 한번 더 띄워줘야했는데

spring 과 같은 라인에 있어서 안되었네요

spring:
datasource:
url: jdbc:h2:tcp://localhost/~/datajpa
username: sa
password:
driver-class-name: org.h2.Driver
jpa:
hibernate:
ddl-auto: create
properties:
hibernate:
# show_sql: true
format_sql: true
logging.level:
org.hibernate.SQL: debug
# org.hibernate.type: trace

3

김영한님의 프로필 이미지
김영한
지식공유자

잘 해결하셨습니다^^ YML의 띄어쓰기 2칸을 주의해주세요.

박현철님의 프로필 이미지
박현철

작성한 질문수

질문하기