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

흰머리오목눈이님의 프로필 이미지
흰머리오목눈이

작성한 질문수

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

엔티티 클래스 개발1

Embeded 값 타입이 Delivery 에만 생성되고, Member 에는 생성이 안됩니다.

작성

·

288

0

 

Address.java

package jpabook.jpashop.domain;

import lombok.Getter;
import lombok.Setter;

import javax.persistence.Embeddable;

@Embeddable
@Getter
public class Address {

    private String city;
    private String street;
    private String zipcode;

    protected Address() {

    }

    public Address(String city, String street, String zipcode) {
        this.city = city;
        this.street = street;
        this.zipcode = zipcode;
    }

}

 

Member.java

package jpabook.jpashop.domain;

import lombok.Getter;
import lombok.Setter;
import org.apache.tomcat.jni.Address;

import javax.persistence.*;
import java.util.ArrayList;
import java.util.List;

@Entity
@Getter @Setter
public class Member {

    @Id @GeneratedValue
    @Column(name = "member_id")
    private Long id;

    private String username;

    @Embedded
    private Address address;

    @OneToMany(mappedBy = "member")
    private List<Order> orders = new ArrayList<>();

}

 

Delivery.java

package jpabook.jpashop.domain;

import javax.persistence.*;

@Entity
public class Delivery {

    @Id @GeneratedValue
    @Column(name = "delivery_id")
    private Long id;

    @OneToOne(fetch = FetchType.LAZY, mappedBy = "delivery")
    private Order order;

    @Embedded
    private Address address;

    @Enumerated(EnumType.STRING)
    private DeliveryStatus status; // ENUM [READY(준비), COMP(배송)
}

 

코드는 위와 같습니다. 질문란에 검색을 해보니 과거에 저랑 완전히 똑같은 증상이 있으셨던 분이 질문 글을 남겨놓았더군요. 내용에 Member 테이블을 삭제한 후 다시 빌드한 뒤에 실행한 뒤 정상 작동했다고 확인했습니다.

저같은 경우는 어쩐 연유인지 테이블을 삭제하고 다시 실행해봐도 되지가 않아서 따로 문의드립니다. 🙏

답변 1

0

안녕하세요. 흰머리오목눈이님, 공식 서포터즈 David입니다.

아래 2가지를 모두 시도한 뒤 다시 실행해 보시겠어요?

  1. 테이블 모두 삭제

  2. Cache 삭제

    Files - Invalidate Caches - Invalidate and Restart

감사합니다.

흰머리오목눈이님의 프로필 이미지
흰머리오목눈이

작성한 질문수

질문하기