엔티티를 생성할 때 무의식으로 아래와 같은 어노테이션을 박고 시작하는 분들이 있을 것이다. @NoArgsConstructor(access = AccessLevel.PROTECTED) 바로 저번 프로젝트 때만 해도 내가 쓰고 있었기 때문이다. 옛날에는 엔티티를 생성할 때 꼭 붙여준 것 같다. @NoArgsConstructor 어노테이션은 객체의 기본생성자를 자동으로 생성해준다. 즉 원래라면 아래코드를 직접 입력해야 하지만, 어노테이션을 붙이면 자동으로 붙여준다는 의미이다. public Member() { } @NoArgsConstuctor은 속성이 있는데, 그 중 액세스레벨을 설정할 수 있다. 액세스 레벨은 접근제한자이다. 왜 기본생성자의 접근 제한자를 private도, public도 아닌 애매하게 pro..
이 부분은 영속성 컨텍스트에 관한 글을 보고 오면 더 이해가 가기 쉽다. 영속성 컨텍스트는 엔티티를 식별자 값으로 구분하므로 엔티티를 영속 상태로 만들려면 식별자 값이 반드시 있어야 한다. 식별자를 할당하는 다양한 전략이 있다. 그 중 많이 쓰는 2가지 전략을 알아보겠다. 1. 기본키 직접 할당 전략 기본 키를 직접 할당하려면 @Id로 매핑시키면 된다. @Id @Column(name="id") private String id; 직접 할당하는 방법은 em.persist() 로 엔티티를 저장하기 전에 에플리케이션에서 기본 키를 직접 할당하는 방법이다. Member member = new Member(); member.setAge(18); //직접 할당 em.persist(board); 2. IDENTITY ..
- Total
- Today
- Yesterday