1. @Embedded , @Embeddable : JPA_ Entity의 가독성 높이기 1.1 Member Entity의 기존 구성요소 public class Member extends Auditable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(nullable = false, unique = true) private String email; @Column(length = 20) private String nickname; private String password; private String realName; @Column(nullable = false, unique = true) private ..
프로젝트를 진행하며 Member에 대한 CRUD를 구현하던 중, 가장 고민이 됐던 부분은 Update라고 말할 수 있다. 1. Setter방식, 과연 이대로 괜찮은가? 처음에는 아래와 같이 Member Entity의 @Setter를 열어둔 뒤, update시에 Dto를 통해 받아온 값들을 Entity에 각각 SetXXX해주는 방식을 사용했었다. @Transactional public Member updateMember(Member member) { Member existingMember = getMemberByEmail(member.getEmail()); existingMember.setEmail(member.getEmail()); existingMember.setPassword(member.getPas..
백엔드 개발자로 취업을 준비하며, 국비교육 이후 몇 개의 프로젝트들을 진행해 왔지만 "매력 있는 신입 개발자"가 되기에는 모자람을 느꼈다. 이에 백엔드 개발자 커뮤니티와 각종 커피챗에 참여해 현직 미들, 시니어급 개발자분과 이야기를 나눈 후 Spring Framework의 Security와 Oauth2, JPA, Batch 등 실무에서 기본적으로 다룰 기능들이 포함되며 Testcode와 api 명세 자동화에 대한 나만의 고민이 담긴 프로젝트를 취업 준비와 병행하기로 결정해서 진행 중이다. 이미 시작한 지는 조금 되었지만 기존 프로젝트들과 다르게 하나하나 많은 고민들이 담긴 프로젝트이기에 작은 고민까지 하나하나 기록에 남기고 싶어 블로그 연재를 시작한다. 우선, 아키텍처는 멀티모듈 아키텍처를 선정해서 진행..