원래는 Arist 라는 하나의 엔티티에 자기 참조를 걸고

그룹이던 솔로가수던
음악은 아티스트만을 참조하게 하였고
그룹가수면 상위 아티스트 엔티티를 연관시켜주었다.(솔로 아티스트면 연관없이 생성 끝.)

그러고 List<ArtistDto>의 길이에 따라 1개면 솔로 가수, 여러개면 첫번째 그룹, 이후는 가수로 코드를 짰었다.
(물론 이 작동 방법을 알면 정상 작동한다.)
하지만 여러명이 함께 코드를 짜면서 많은 혼란을 줄 수 있다는 생각을 했다.
그리고 total_count 로 그룹을 판단하는 것 보단 나중에 인덱스를 걸고 Solo, Group 분리하는 것이 좋다고 생각을 했다.
그래서 그룹과 가수로 분리하는 리팩토링을 하게되었다.
하지만 뮤직에 연관되는건 Group 일 경우 그룹 우선이고 SoloArtist 이후 이다.

일단 전략은 싱글테이블 전략을 사용 하였다.
서비스 규모가 크지 않고, 굳이 조인 전략을 선택해서 복잡하게 갈 필요가 없다고 판단했다.
dtype으로 구분이 가능하며 INSERT 쿼리도 한 번, SELECT 쿼리도 한 번이다.
조인할 필요가 없고, 성능이 좋다.
그리고 이제 본래 Artist에 걸려있던 @Builder를 고쳐야한다.