📗 내 코드@Entity@Getter@NoArgsConstructor(access = AccessLevel.PROTECTED)@AllArgsConstructor(access = AccessLevel.PRIVATE)@Builder(access = AccessLevel.PRIVATE)public class Book { ... } Book 엔티티 코드를 살펴보자. 도서 관련 백엔드 서비스이므로 당연히 Book 엔티티는 존재한다.여기서 살펴볼 것은@NoArgsConstructor(access = AccessLevel.PROTECTED) 👆 이 부분이다. 왜 사용했나?정말 솔직하게 말하면 이 프로젝트 이전 팀 프로젝트에서 팀원 분이 베이스 코드 작성 시에 위처럼 코드를 작성하셨다.그 때는 내가 맡은 부분에만 ..
🗳 ddl-auto 옵션JPA의 구현체 중 하나인 Hibernate가 제공하는 기능 중에 하나로, 데이터베이스 스키마 관리를 제어하는 설정 application.yml이나 application.properties에서 관련 설정이 가능하다. ddl-auto 속성1. none데이터베이스 스키마와 관련된 작업을 수행하지 않는다.실제 운영 환경인 프로덕션 환경에서 주로 사용된다.2. validate애플리케이션 실행 시점에 엔티티와 테이블이 정상적으로 매핑되었는지 확인한다.따로 스키마 변경을 없다.3. update애플리케이션 실행 시점에 엔티티와 테이블 상태를 확인하여(엔티티 매핑과 데이터베이스 스키마 비교) 필요한 경우 스키마를 업데이트한다.기존 데이터는 유지되고, 새로운 엔티티나 변경된 엔티티 필드가 스키마..

🎈 @NotNull vs nullable = false 은 무슨 차이가 있나? 유효성 검사를 프로젝트에 추가하려다가 코드를 보니, @Column(nullable = false, length = 20, name = "name") private String name; 위의 코드를 발견했다. @Column 어노테이션의 nullable 속성이 false로 되어있다. 프로젝트를 실행하면 이렇게 not null의 조건이 붙은채 테이블이 생성된다. 해당 필드를 @NotNull을 붙여서 변경해보자 @NotNull private String name; @PostMapping("/user") public void saveUser(@Valid @RequestBody UserCreateRequest request) { use..
- Total
- Today
- Yesterday
- Thymeleaf
- 메인메소드
- StreamAPI
- 유효성 검사
- 생성자
- N+1문제
- 동등성
- @Value
- id생성전략
- Spring
- null
- lowerBound
- checkedException
- NPE
- @NoArgsConstructor
- 오블완
- 일급컬렉션
- 자바
- 이진탐색
- Optional
- 백준
- 티스토리챌린지
- JPA
- Java
- @Spring
- upperBound
- @ConfigurationProperties
- springboot
- uncheckedException
- ddl-auto
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |