해결된 질문
작성
·
222
0
이번 강좌편 잘 들었습니다.
setter 쓰지않는게 좋다고 여러강좌 (jpa 웹앱, 이 강좌 값 타입 등등) 여러차례 강조해주셨는데요~
그럼 상속구조에서는 Item 에 있는 필드를 protected 로 잡고 가는게 맞는건가요?
상속구조에서는 어떤식으로 풀어가는게 관례인가요?
지금 당장은 아래처럼 풀어가는것밖에 생각이 안나서 여쭤봅니다!
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "dtype")
@Getter
@Setter
public abstract class Item {
@Id @GeneratedValue
@Column(name = "item_id")
private Long id;
protected String name;
protected int price;
protected int stockQuantity;
@Entity
@DiscriminatorValue("M")
@Getter
//@Setter
@NoArgsConstructor(access = PROTECTED)
public class Movie extends Item {
private String director;
private String actor;
@Builder
public Movie(String title, String director, String actor, int price, int stockQuantity) {
this.name = title;
this.director = director;
this.actor = actor;
this.price = price;
this.stockQuantity = stockQuantity;
}
@SpringBootTest @Transactional
@Rollback(false)
public class InheritenceTest {
@Autowired EntityManager entityManager;
@Test
public void di(){
Movie movie = new Movie("Back to the future","xxx","yyy",5000,10);
entityManager.persist(movie);
}
답변 1
0