2024/11/08 3

[우테코/프리코스] Week2. 2주차 프리코스 회고

목표 1. Clean Code 작성하는 습관우테코 프리코스를 통해서 우선 코드를 작성하는 좋은 습관을 들이고 싶었다. 우테코 깃허브에 있는 PR전 체크리스트에 있는 내용을 종종 확인하면서 안좋은 습관들을 버리려고 노력을 하고 있다. 일급 컬렉션, 원시값 포장 같은 처음 들어봤던 내용들을 찾아 공부해보고, 학교 도서관에서 클린 코드 책을 빌려서 틈틈히 읽고 있다. 목표 2. 자바 기본기 다지기그리고 자바 기본기를 다시 한 번 탄탄하게 해보고 싶었다. 우테코 프리코스 미션을 하면서 콘솔에서 주어진 문자열 파싱을 하거나, 여러 컬렉션을 사용하게 되었다. 그러다보니 확실히 부족하고 익숙치 않은 부분들에서 많이 배우고 있고, 개인 블로그를 통해서 공부한 내용을 따로 정리하고 있다. 알고 있다고 생각했지만 모르는 ..

[JPA] 엔티티 매핑

엔티티 매핑#Spring/DB/JPA/기본엔티티 매핑에 사용하는 대표적인 애노테이션은 다음과 같다.객체와 테이블 매핑 : @Entity, @Table필드와 칼럼 매핑 : @ColumnPK 매핑 : @Id연관관계 매핑 : @ManyToOne, @JoinColumn객체와 테이블 매핑@Entity@Entity가 붙은 클래스는 JPA가 관리, 엔티티라 한다.JPA를 사용해서 테이블과 매핑할 클래스는 @Entity 필수주의기본 생성자 필수(파라미터가 없는 public 또는 protected 생성자)JPA에서 reflection, proxy 등의 기술을 사용하기 때문에 기본 생성자가 필요하다.final 클래스, enum, interface, inner 클래스 사용X저장할 필드에 final 사용 X@Entity 속성..

Spring/JPA 2024.11.08

[Java] 21. 열거형 - ENUM

열거형 - ENUM#Java열거형이 생겨난 이유문자열로 처리에피소드 : 고객은 3등급으로 나누고, 상품 구매시 등급별로 할인을 적용한다. 할인시 소수점 이하는 버린다.BASIC 10% 할인GOLD 20% 할인DIAMOND 30% 할인만약 if문을 통해서 구현한다면public int discount(String grade, int price) { int discountPercent = 0; if (grade.equals("BASIC")) { discountPercent = 10; } else if (grade.equals("GOLD")) { discountPercent = 20; } else if (grade.equals("DIAMOND")) { discountPercent = 30; } els..