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

조성혁님의 프로필 이미지
조성혁

작성한 질문수

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

회원가입에서 insert 쿼리는 뜨는데 h2 db에 저장이 안됩니다.

해결된 질문

작성

·

857

0

yml 파일

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


  jpa:
    hibernate:
      ddl-auto: create
    properties:
      hibernate:
#        show_sql: true
        format_sql: true
    defer-datasource-initialization: true

logging:
  level:
    org.hibernate.SQL: debug
#    org.hibernate.type: trace

MemberController 파일

package jpaproject.jpashop.controller;

import jpaproject.jpashop.domain.Address;
import jpaproject.jpashop.domain.Member;
import jpaproject.jpashop.service.MemberService;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

import javax.validation.Valid;

@Controller
@RequiredArgsConstructor
public class MemberController {

    private final MemberService memberService;

    @GetMapping("/members/new")
    public String createForm(Model model){
        model.addAttribute("memberForm",new MemberForm());
        return "members/createMemberForm";
    }
    
    @PostMapping("/members/new")
    public String create(@Valid MemberForm memberForm){
        Address address = new Address(memberForm.getCity(), memberForm.getStreet(), memberForm.getZipcode());

        Member member = new Member();
        member.setName(memberForm.getName());
        member.setAddress(address);

        memberService.join(member);
        return "redirect:/";
    }
}

콘솔창

h2 데이터베이스

도저히 원인을 모르겠네요 도와주세요

답변 1

1

안녕하세요. 조성혁님, 공식 서포터즈 David입니다.

application.yml 의 datasource 속성 아래 url ~ driver-class-name 속성들은 datasource에서 한 번 더 들여 써져야 합니다.

image

이 부분 확인 후 다시 시도해 보시겠어요?

감사합니다.

조성혁님의 프로필 이미지
조성혁
질문자

해결됐습니다!! 정말 감사합니다

조성혁님의 프로필 이미지
조성혁

작성한 질문수

질문하기