Spring
- JPA 연관관계를 끊고 진행한 프로젝트 회고
https://github.com/Four-Talking/Nateam
- Entity 클래스에 @NoArgsConstructor(access=AccessLevel.PROTECTED)를 사용하는 이유
일단 protected는 같은 패키지나 자식 클래스에서 사용할 수 있는 접근 제어자이다.
Entity가 지연 로딩에서 조회를 할 때 실제 엔티티가 아닌 프록시 객체를 조회한다.
JPA는 기본 생성자를 통해 프록시 객체를 생성하는데 private면 객체 생성이 불가한 것이다.
그러나 em.find거나 즉시 로딩처럼 실제 Entity를 가져오는 경우에는 private 여도 상관은 없다.
Post에 지연로딩을 설정해놓았다 가정하고(지연 로딩이기 때문에 post의 accesslevel은 무관), User에 private을 설정하면 post.getUser(); 을 했을 때 NoSuchMethodException이 터진다.
알고리즘
- 프로그래머스 : 디펜스 게임(Level 2, 우선순위 큐)
계속 정렬해가면서 최대, 최소의 수(혹은 몇개의 수)를 추적해야할 때는 우선순위큐를 먼저 떠올리자.
원소를 넣어줄때마다 벡터로 정렬했더니 시간초과가 났다.
느낀 점
'TIL' 카테고리의 다른 글
[23.12.14] (0) | 2023.12.15 |
---|---|
[23.12.13] (0) | 2023.12.13 |
[23.12.11] (0) | 2023.12.12 |
[23.12.08] (0) | 2023.12.08 |
[23.12.06] (0) | 2023.12.06 |