유저 프로필 이미지(1개만 등록가능)

게시글 이미지(여러개 등록 가능)


이렇게 있다고 할 때

전에는 게시글에도 이미지 1개만 등록하도록 했어서 그냥 둘 다 엔티티에 이미지 경로만 String으로 뒀었는데

이번에 리팩토링 하면서 게시글에 이미지를 여러개 등록할 수 있도록 하려고 합니다


그래서 이미지 엔티티를 따로 만들어서 


@Entity

public class Post {

    @Id @GeneratedValue

    private Long id;


    private String title;

    private String content;


    @OneToMany(mappedBy = "post", cascade = CascadeType.ALL, orphanRemoval = true)

    private List<Image> images = new ArrayList<>();

}


@Entity

public class Image {

    @Id @GeneratedValue

    private Long id;


    private String imagePath;


    @ManyToOne

    @JoinColumn(name = "post_id")

    private Post post;

}

이렇게 두려고 하는데

저 엔티티를 게시글이랑 유저 프로필 이미지 모두에 쓰게 할 수 있는 방법이 뭐가 베스트일까요

1.  부모 이미지 엔티티 하나 만들고 상속받는 프로필 이미지, 게시글 이미지를 만든다 (single_table or join)

2. 그냥 게시글만 이미지 엔티티랑 연관관계 가지게 하고 프로필은 그대로 경로만 가지게 둔다


2번이 그냥 성능상으로나 DB저장공간 상으로나 더 위인것 같은데

뭔가 둘다 이미지인데 하나는 엔티티로 하고 하나는 경로만 띡 저장하니까 균일성이 깨지는것같아서 고민되네요