작성
·
1.1K
0
안녕하세요 강사님.
Item 클래스와 Category 클래스를 임포트하면 빨간줄이 뜨면서 임포트가 되지 않습니다.
스팰링이나 파일위치들 다시 확인하고, 클래스도 새로 만들어 봐도 빨간줄이 없어지지 않는데요.
강사님 코드와 비교해봐도 다른 부분은 없습니다.
인텔리제이 버전 차이인가요? 이유가 무엇인지 궁금합니다.
답변 5
0
안녕하세요. OQ the YOUNG님
라이브러리가 잘 임포트 되지 않았을 수 있습니다.
먼저 프로젝트를 닫은 다음에
File -> Open -> 해당 프로젝트의 build.gradle을 선택해주세요. 그 다음에 선택창이 뜨는데, Open as Project를 선택해주세요.
만약 이렇게 진행했는데 잘 안되면, 메뉴얼에 초반에 있는 build.gradle을 지금 가지고 계신 build.gradle에 덮어쓰기하고 방금 말씀드린 과정을 다시 진행해주세요.
감사합니다.
0
0
package jpabook.jpashop.domain.item;
import jpabook.jpashop.domain.Category;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import java.util.ArrayList;
import java.util.List;
@Entity
@Inheritance(strategy = InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name = "dtype")
@Getter @Setter
public abstract class Item {
@Id
@GeneratedValue
@Column(name = "item_id")
private Long id;
private String name;
private int price;
private int stockQuantity;
@ManyToMany(mappedBy = "items")
private List<Category> categories = new ArrayList<>();
}
0
package jpabook.jpashop.domain;
import jpabook.jpashop.domain.item.Item;
import lombok.Getter;
import lombok.Setter;
import javax.persistence.*;
import java.util.ArrayList;
import java.util.List;
@Entity
@Getter
@Setter
public class Category {
@Id
@GeneratedValue
@Column(name = "category_id")
private Long id;
private String name;
@ManyToMany
@JoinTable(name = "category_item",
joinColumns = @JoinColumn(name = "category_id"),
inverseJoinColumns = @JoinColumn(name = "item_id"))
private List<Item> items = new ArrayList<>();
//관계형 DB에서는 다대다를 -> 1대다, 다대1로 풀어내는 중간 테이블이 필요
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "parent_id")
private Category parent;
@OneToMany(mappedBy = "parent")
private List<Category> child = new ArrayList<>();
//==연관관계 메서드==//
public void addChildCategory(Category child) {
this.child.add(child);
child.setParent(this);
}
}
0