본문 바로가기

학습 기록 (Learning Logs)

(319)
[Note]In-memory cache-basic 공통 질문1. 인메모리 캐시란 무엇인가요?2. 캐시가 필요한 이유는 무엇인가요?3. 캐시와 데이터베이스의 차이는 무엇인가요?4. 인메모리 캐시에서 사용하는 주요 도구는 무엇인가요?5. 캐시 적중률(Cache Hit Ratio)이란 무엇인가요?6. 캐싱 전략에는 어떤 것들이 있나요?7. 캐시 무효화(Cache Invalidation)는 무엇이며, 왜 중요한가요?8. TTL(Time-To-Live)이란 무엇인가요?9. 캐시를 사용할 때 발생할 수 있는 문제점은 무엇인가요?10. Redis와 Memcached의 차이점은 무엇인가요?11. LRU 캐싱이란 무엇인가요? 1. 인메모리 캐시란 무엇인가요?인메모리 캐시는 데이터를 디스크가 아닌 메모리(RAM)에 저장하여 데이터를 빠르게 읽고 쓸 수 있도록 하는 저장소..
Fetch Join db에서의 join 에 없는 Fetch join   fetch join객체지향-- 관계형 db의 차이를 보완하기위해 제공되는 기능SQL 기반의 조인은 관계형 데이터를 조인패치 조인은 연관된 엔티티 데이터를 한 번의 쿼리로 가져와 메모리에 로드    SQL 조인: 단순히 데이터를 조합해서 결과를 반환.SELECT *FROM orders oJOIN customers c ON o.customer_id = c.id;  패치 조인: SQL로 조합한 데이터를 JPA가 객체 그래프로 변환하여 메모리에 저장.결과: Order와 Customer 엔티티가 객체로 매핑되고, 연관 관계가 완전한 객체 그래프로 로드.String jpql = "SELECT o FROM Order o JOIN FETCH o.customer";Li..
JPA-troubleShooting 공통 질문트러블슈팅 및 실무JPA 사용 시 발생할 수 있는 LazyInitializationException의 원인과 해결 방법은 무엇인가요?영속성 컨텍스트와 데이터베이스의 동기화 타이밍은 언제 이루어지나요?EntityManager와 Spring Data JPA의 Repository 간의 차이점은 무엇인가요?@Transactional의 동작 원리와 JPA에서의 역할은 무엇인가요?실무에서 JPA를 사용할 때 주의해야 할 점과 흔히 발생하는 실수는 무엇인가요? JPA를 사용할 때 Native Query를 사용하는 이유와 주의점은 무엇인가요?JPA로 대규모 데이터를 처리할 때 고려해야 할 점은 무엇인가요?읽기 전용 트랜잭션(ReadOnly Transaction)에서 JPA가 어떻게 동작하는지 설명해주세요.JP..
JPA-advanced-question 공통 질문Spring Data JPA와 순수 JPA의 차이점은 무엇인가요?JPA에서 Inheritance(상속) 매핑 전략 3가지를 설명해주세요.@Embedded와 @Embeddable의 역할과 사용 사례를 설명해주세요.Inheritance vs EmbeddedLocking 전략에 대해 설명해주세요. Soft Delete를 JPA에서 구현하려면 어떻게 해야 하나요? Spring Data JPA와 순수 JPA의 차이점은 무엇인가요? spring data jpajpa를 추상화한 spring moduleinterface 기반으로 동적 쿼리를 자동 생성spring의 transaction, aop와 쉽게 통합 가능장점- 코드량 감소: jpaRepository를 상속받아 기본 메서드 사용 가능- 동적 쿼리 생성을 ..
JPA-optimized-performance 성능 최적화N+1 문제란 무엇이며, 이를 해결하기 위한 방법은 무엇인가요?@Query와 NamedQuery의 차이점을 설명해주세요.JPA에서 캐싱 전략은 어떻게 구현할 수 있나요?JPA에서 Batch Insert/Update를 사용하는 방법은 무엇인가요? N+1 문제란 무엇이며, 이를 해결하기 위한 방법은 무엇인가요? N+1 문제란?- jpa에서 연관된 data를 가져올때 FetchType.Lazy로 가져올때 발생하는 성능 문제- 하나의 entity를 조회할때 --> 연관된 entity를 조회하기 위해 N번의 추가 쿼리가 발생하는 문제List teams = em.createQuery("SELECT t FROM Team t", Team.class).getResultList();for (Team team :..
JPA-features 공통 질문JPA의 생명주기(Lifecycle)에 대해 설명해주세요.영속성 컨텍스트에서 1차 캐시의 역할은 무엇인가요?JPA의 dirty checking(변경 감지)은 어떻게 동작하나요?JPQL(Java Persistence Query Language)이란 무엇인가요? 기본 SQL과의 차이점을 설명해주세요.Criteria API란 무엇이며, JPQL과 비교했을 때의 장단점을 설명해주세요. JPA의 생명주기(Lifecycle)에 대해 설명해주세요. Transient(일시적, 순간의)비영속 : persistent context에 없을 때 Persistent(고집센, 지속의) 영속 : persistent context 저장되었을 때- em.persist()로 영속성 컨텍스트에 저장됨 Detached(분리된) 준..
JPA-mapping 엔티티와 매핑@Entity와 @Table의 차이점을 설명해주세요.@Id와 @GeneratedValue의 차이점과 사용 방법을 설명해주세요.JPA에서 지원하는 연관관계 매핑 종류를 설명하고, 각 연관관계의 차이점을 설명해주세요.FetchType.LAZY와 FetchType.EAGER의 차이점은 무엇인가요? 어떤 상황에서 각각을 사용하는 것이 적합한가요?JPA에서 @JoinColumn과 @MappedBy의 차이를 설명해주세요. @Entity와 @Table의 차이점을 설명해주세요. @Entityjpa에서 entity class 임을 선언하는 어노테이션테이블과 매핑되는 class에 반드시 선언 @Tabledb table 이름과 mapping을 지정하는 어노테이션 name: 매핑할 테이블 이름을 지정합니다.sch..
JPA-default 공통 질문JPA란 무엇이며, 왜 사용하는지 설명해보세요.ORM(Object-Relational Mapping)이란 무엇인가요? 장단점을 설명해주세요.JPA와 Hibernate의 차이점은 무엇인가요?Entity란 무엇이며, 어떤 경우에 사용하는지 설명해주세요.JPA에서 영속성 컨텍스트(Persistence Context)의 역할은 무엇인가요? JPA란 무엇이며, 왜 사용하는지 설명해보세요. JPAjava persistence api자바 영속(끈기,고집)자바 진영의 ORM 기술 표준인터페이스 모음  개발자 == SQL mapper그래서 그 중간에서 해석을 개발자가 해주는데, 개발자가 하지 않고 객체 -> SQL 변환 -> SQL -> RDBobject 방식으로 programming을 하면 db명령어를 만들어..