| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 | 29 |
| 30 |
- 알고리즘
- 클린코드
- Java
- 코딩테스트
- kotlin
- 프레임워크
- database
- JPA
- Elasticsearch
- 읽기쉬운코드
- 개발자
- cleancode
- Spring
- 엘라스틱서치
- ES
- 자바
- 스프링
- API
- 데이터베이스
- spring boot
- framework
- 그리디
- 애자일프로그래밍
- 그리디알고리즘
- 개발
- 애자일기법
- 백준
- 코딩
- 코드
- Baekjoon
- Today
- Total
목록spring boot (12)
튼튼발자 개발 성장기🏋️
객체지향 쿼리 언어는 데이터베이스의 테이블이 아닌 객체를 대상으로 데이터를 조회하는 쿼리 방법이다. 그러므로 데이터베이스에 의존하지 않고 개발할 수 있다는 장점이 생긴다.JPQLJPQL(Java Persistence Query Language)은 객체 지향적으로 데이터를 조회하는 쿼리 언어로, SQL과 유사하지만 엔티티를 대상으로 쿼리를 작성한다. 가장 많이 사용되는 쿼리 방식다.JPQL은 데이터베이스 테이블이 아닌 엔티티와 속성을 대상으로 쿼리한다.String jpql = "SELECT e FROM Employee e WHERE e.name = :name";TypedQuery query = em.createQuery(jpql, Employee.class);query.setParameter("name",..
1. 프록시엔티티를 조회할 때 연관된 엔티티들이 항상 사용되는 것은 아닐 것이다. 지금 내가 리딩하고 있는 토이프로젝트만 봐도 유저 엔티티에 피드 엔티티, 댓글 엔티티 등 많은 엔티티와 연관관계를 갖는데 항상 사용되지는 않는다. 유저의 정보를 조회할 때 이 사용되지 않는 엔티티까지 조회하는 것은 굉장한 부담이 되고 비효율적일 것이다.JPA는 이런 문제를 해결하고자 엔티티가 실제 사용될 때까지 데이터베이스 조회를 지연하는 방법을 제공하는데 이것을 지연 로딩이라고 한다. 이 지연 로딩을 사용하려면 실제 엔티티 객체 대신에 데이터베이스 조회를 지연할 수 있는 가짜 객체가 필요한데 이 것을 프록시 객체라 부른다.1.1. 프록시 기초 프록시는 JPA가 엔티티의 연관관계를 처리하는 핵심적인 기법 중 하나로, 실제 ..
1. 상속 관계 매핑객체 지향 프로그래밍에서 상속은 중요한 개념인 것은 누구나 알고 있는 사실이다. JPA에서는 이러한 상속 관계를 데이터베이스 테이블에 매핑하는 여러 가지 전략을 제공한다.1.1. 조인 전략 (Joined Strategy)조인 전략은 부모 클래스와 자식 클래스 각각에 대한 테이블을 생성하고, 자식 클래스의 테이블은 부모 클래스의 기본 키를 외래 키로 참조하는 방식이다.@Entity@Inheritance(strategy = InheritanceType.JOINED)public abstract class Item { @Id @GeneratedValue private Long id; private String name;}@Entitypublic class Book extend..
단방향 연관관계순수한 객체 연관관계순수한 객체 모델에서는 클래스 간의 연관관계를 필드를 통해 나타낸다. 예를 들어, Member 객체가 Team 객체와 연관관계를 가질 때, Member 클래스는 Team 객체를 참조하는 필드를 가질 수 있다.public class Member { private Long id; private String name; private Team team;}public class Team { private Long id; private String name;}테이블 연관관계관계형 데이터베이스에서는 이러한 연관관계를 외래 키(Foreign Key)를 통해 관리한다. 위의 객체 모델을 데이터베이스에 매핑하면, MEMBER 테이블에는 TEAM_ID라는 외래 키..