분류 전체보기

· Spring/JPA
JPA(Java Persistence API)를 이해하는 데 어려움을 겪는 이유 중 두 가지는 영속성 컨텍스트의 작동 메커니즘과 연관관계 매핑입니다. 이번 포스팅에서는 연관관계 매핑에 대해 정리해보고자 합니다. JPA는 객체 지향 프로그래밍과 데이터베이스 간의 패러다임 불일치를 해결하기 위해 설계되었습니다. 이를 통해 객체지향적인 개발 방식을 지원하며, 연관관계 매핑은 이러한 패러다임 불일치를 해소하고 객체지향적인 개발을 용이하게 합니다. 연관관계 정의 규칙 연관관계를 매핑할 때 고려해야 할 사항은 다음과 같이 3가지로 구분됩니다. 방향: 단방향, 양방향 (객체 참조) 연관관계의 주인: 양방향 관계에서 관리 주체가 되는 엔티티 (FK를 가지는 테이블) 다중성: 다대일(N:1), 일대다(1:N), 일대일(..
· Spring/JPA
이번 포스팅에서 엔티티 매핑의 핵심적인 역할을 하는 기본키(Primary Key)에 대해 살펴보겠습니다. 기본키는 데이터베이스에서 각 행을 식별하는 데 사용되는 고유한 식별자입니다. 이는 엔티티와 매핑된 객체를 고유하게 식별하고 관계를 맺을 때 중요한 역할을 합니다. @Id @Id는 엔티티의 주요 식별자를 표시하는 역할을 수행합니다. 즉 데이터베이스 테이블의 기본 키(pk)와 객체의 필드를 매핑시켜 줍니다. 일반적으로 @GeneratedValue와 같이 사용되며 @Id만 사용할 경우 기본 키를 직접 할당해주어야 합니다. @Id를 적용할 수 있는 타입은 다음과 같습니다. 자바 기본형 (int, long, ...) 자바 래퍼형 (Integer, Long, ...) String Date (java.util),..
· Spring/JPA
이번 포스팅은 JPA(Java Persistence API)를 사용하여 엔티티 객체와 데이터베이스 테이블 간의 매핑, 그리고 엔티티 필드와 데이터베이스 컬럼 간의 매핑에 대해 살펴보겠습니다. JPA는 자바 객체와 관계형 데이터베이스 간의 매핑을 간소화하고 편리하게 처리할 수 있도록 도와줍니다. 객체와 테이블 매핑 @Entity JPA에서 엔티티(Entity)는 데이터베이스 테이블과 대응되는 하나의 클래스로 데이터의 집합을 의미합니다. JPA를 사용하여 데이터베이스 테이블과 매핑할 클래스는 반드시 @Entity를 붙여야 합니다. @Entity(name = "MEMBER") public class Member { private Long memberId; private String username; } 속성 ..
· Spring/JPA
이번 포스팅은 영속성 컨텍스트에 대해 설명해보려고 합니다. 영속성 컨텍스트를 배우기 위해 먼저 EntityManagerFactory와 EntityManager를 알아야 합니다. EntityManagerFactory & EnitityManger란? EntityManagerFactory는 애플리케이션 전체에 단 하나만 생성되며 영속성 유닛과 연결을 설정하고 관리합니다. 이 과정에서 DB 커넥션 풀을 생성하게 됩니다. 그리고 클라이언트의 요청이 들어올 때마다 EntityManager를 생성하고, 각 EntityManager는 특정 작업을 수행하기 위해 사용됩니다. EntityManager는 영속성 컨텍스트를 관리하며, 이를 통해 엔티티 객체의 상태를 추적하고, 트랜잭션이 시작되는 시점에 EntityManage..
https://school.programmers.co.kr/learn/courses/30/lessons/12914#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2칸) 의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지..
https://school.programmers.co.kr/learn/courses/30/lessons/176963 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제설명 사진들을 보며 추억에 젖어 있던 루는 사진별로 추억 점수를 매길려고 합니다. 사진 속에 나오는 인물의 그리움 점수를 모두 합산한 값이 해당 사진의 추억 점수가 됩니다. 예를 들어 사진 속 인물의 이름이 ["may", "kein", "kain"]이고 각 인물의 그리움 점수가 [5점, 10점, 1점]일 때 해당 사진의 추억 점수는 16(5 + 10 + 1)점이 됩니다. 다른 사진 속 인물의..
https://school.programmers.co.kr/learn/courses/30/lessons/12953 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solutio..
유클리드 호제법은 두 개의 자연수의 최대공약수(GCD, Greatest Common Divisor)를 구하는 알고리즘입니다. 유클리드 호제법을 통해 최대공약수와 함께 최소공배수를 구할 수 있으며, 이를 활용하는 방법에 대해 정리하려고 합니다. 최대공약수(GCD) & 최소공배수(LCM) 유클리드 호제법을 말하기 전에 최대공약수와 최소공배수의 개념을 간단하게 설명해 보겠습니다. 최대공약수(GCD, Greatest Common Divisor) 두 개 이상의 수가 가지는 공통된 약수 중 가장 큰 수를 의미합니다. 예를 들어, 12와 18의 최대공약수는 6입니다. 12와 18의 공약수는 1, 2, 3, 6이며, 이 중 가장 약수가 6이기 때문입니다. 최소공배수(LCM, Least Common Multiple) 두..
Hui._.
'분류 전체보기' 카테고리의 글 목록 (4 Page)