분류 전체보기 404

[JPA 기본편] JPA 기초

JPA 구동 방식JPA는 Persistence라는 클래스가 있다.Persistence에서 시작해서 설정 정보를 조회하여 EntityManagerFactory라는 클래스를 만든다.EntityManagerFactory는 애플리케이션 전체에서 공유필요할 때마다 EntityManager를 찍어내서 사용한다. EntityManager는 쓰레드 간에 공유를 하지 않음. (사용하고 버려야 함)EntityManagerFactory는 애플리케이션 로딩 시점에 딱 하나만 만들어야 한다.실제 DB에 저장하는 트랜잭션 단위(DB커넥션을 얻어서 쿼리를 날리고 종료)는 EntityManager를 만들어줘야 한다.JPA에서는 트랜잭션 단위가 매우 중요하다. 모든 작업은 트랜잭션 안에서 작업을 해야 한다.  코드 예제Member 객..

Spring 2024.06.14

[JPA 기본편] SQL 중심적인 개발의 문제 + JPA 소개

SQL 중심적인 개발의 문제지금 시대는 객체를 관계형 DB에 관리CRUD, ... 무한 반복, 지루한 코드. 계속 쿼리를 작성해야객체에는 상속 관계가 있지만, 데이터베이스에는 상속 관계가 없음.슈퍼 타입, 서브 타입으로 설계해야함.조회 시에도 조인해서 해야함. => 객체를 테이블에 맞춰서 설계해야함. ORM (Object - relational mapping, 객체 관계 매핑)객체는 객체대로 설계관계형 데이터 베이스는 관계형 데이터베이스 대로 설계ORM 프레임워크가 중간에서 매핑JPA를 왜 사용해야 하는가SQL 중심적인 개발에서 객체 중심으로 개발생산성유지보수패러다임의 불일치 해결성능데이터 접근 추상화와 벤더 독립성표준 저장: jpa.persist(member)조회: Member member = jpa...

Spring 2024.06.14

[Spring boot& JPA 1] 도메인 분석 설계

도메인 모델과 테이블 설계회원, 주문, 상품의 관계회원은 여러 상품을 주문 가능하고, 한 번 주문할 때 여러 상품을 선택할 수 있으므로 주문과 상품은 다대다 관계이다. 하지만, 다대다 관계는 거의 사용하지 않아서 주문 상품이라는 엔티티를 추가해서 다대다 관계를 일대다, 다대일 관계로 풀어낸다.회원 엔티티 분석Member이름과 임베디드 타입인 Address, 주문을 리스트로 가진다.Order한 번 주문시 여러 Item을 담을 수 있어서 주문(Order)과 주문 상품(OrderItem)은 일대다 관계를 가진다.상품을 주문한 회원, 배송 정보, 주문 날짜, 주문 상태를 가짐.주문 상태는 열거형으로 ORDER, CANCEL을 표현할 수 있음.OrderItem주문한 상품 정보와 주문 금액과 주문 수량을 가지고 있..

Spring 2024.04.28

[백준] S1. boj1149번 RGB 거리 / 분류 : 다이나믹 프로그래밍

https://www.acmicpc.net/problem/1149 import sys input = sys.stdin.readline N = int(input()) costs = [] for i in range(N): costs.append(list(map(int, input().split()))) for i in range(1, N): costs[i][0] = min(costs[i-1][1], costs[i-1][2]) + costs[i][0] costs[i][1] = min(costs[i-1][0], costs[i-1][2]) + costs[i][1] costs[i][2] = min(costs[i-1][0], costs[i-1][1]) + costs[i][2] print(min(costs[N-1][0..

728x90