전체 글
[Inflearn] JPA - 영속성관리
김영한 강사님의 '자바 ORM 표준 JPA 프로그래밍-기본편' 강의 정리 2022.03.17~ 03.31 진행 강의를 듣고 개인적으로 정리한 글입니다. 코드와 그림 출처는 김영한 강사님께 있습니다. 문제 있을 시 알려주세요. 영속성 컨텍스트 JPA는 영속성 컨텍스트에 엔티티를 저장한다. 영속성 컨텍스트는 "엔티티를 영구 저장하는 환경" 이라는 뜻이다. 영속성 컨텍스트는 논리적인 개념이며 눈에 보이지 않는다. 영속성 컨텍스트 접근하기 엔티티 매니저를 통해서 영속성 컨텍스트에 접근한다. EntityManager.persist(entity);를 하면 엔티티를 영속화한다. (DB에 저장하는게 아님, 영속성 컨텍스트에 저장) 엔티티 매니저 팩토리와 엔티티 매니저 EntityManagerFactory를 통해서 고객..
[Inflearn] JPA 시작하기 + JPQL이란?
김영한 강사님의 '자바 ORM 표준 JPA 프로그래밍-기본편' 강의 정리 2022.03.17~03.31 진행 강의를 듣고 개인적으로 정리한 글입니다. 코드와 그림 출처는 김영한 강사님께 있습니다. 문제 있을 시 알려주세요. 프로젝트 생성 자바 8이상 (저는 11을 사용하였습니다) 빌드 툴은 Maven을 사용 InteliJ에서 Maven 프로젝트를 새로 생성합니다. 라이브러리 설정파일 pom.xml JPA 하이버네이트, 데이터베이스 드라이버 등 필요한 의존설정을 추가합니다. 자바 11을 사용했을 때 오류 해결방법 : pom.xml에 다음 코드를 추가 javax.xml.bind jaxb-api 2.3.0 JPA 설정하기 - persistence.xml JPA 설정 파일 /META-INF/persistence..
[Inflearn] ORM, JPA란 무엇인가
김영한 강사님의 '자바 ORM 표준 JPA 프로그래밍-기본편' 강의 정리 2022.03.17~03.31 진행 강의를 듣고 개인적으로 정리한 글입니다. 코드와 그림 출처는 김영한 강사님께 있습니다. 문제 있을 시 알려주세요. JPA와 모던 자바 데이터 저장 기술 Java와 같은 객체지향 언어로 실무 개발을 할 때에는 주로 관계형 DB를 사용한다. 문제는 애플리케이션은 객체지향적으로 개발을 해야하는데, SQL을 계속 날려야 하기 때문에 SQL 중심적인 개발이 되는 것이다. 1. SQL 중심적인 개발의 문제점 SQL 중심적인 개발은 다음과 같은 문제가 있다. 무한반복, 지루한 코드 → SQL 매핑에 많은 시간소요(노가다) 객체 CRUD 코드에 필드가 추가 될 경우 SQL을 일일히 고쳐주어야 한다 → 유지보수성..
[Inflearn] 스프링 MVC (8) 웹 페이지 만들기
김영한 강사님의 '스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술' 강의 정리 2022.02.21,03.7 진행 강의를 듣고 개인적으로 정리한 글입니다. 코드와 그림 출처는 김영한 강사님께 있습니다. 문제 있을 시 알려주세요. 드디어 이번 강의 마지막 파트! 졸업과 밴드 합주, 정보처리기사 필기시험 준비 등이 겹쳐 바쁜지라 그간 강의를 거의 듣지 않았다... 필기합격한거 같으니 다시 빠샤~! 다음 강의도 쭉쭉 들어야지 😋 상품 도메인 package hello.itemservice.domain.item; import lombok.Data; import lombok.Getter; import lombok.Setter; //@Data //다만들어줘서 위험하다..(숙지 필요)일반 왔다갔다하는 DTO 정도는 괜..
[PS] 백준 11055번 가장 큰 증가 부분 수열 - DP
문제 예제 풀이 가장 긴 증가 부분 수열 문제를 변형한 문제이다. 이전 문제와 다른 것은 dp[탐색위치]에 수열의 길이가 아니라 증가수열의 누적합을 저장하는 것이다. 우선 arr 배열에 입력값을 저장한다. dp[1]은 초기 누적합이므로 arr[1] 그대로를 저장한다. dp[i] 값을 저장하기 위해 i=2부터 n일 때까지 반복문을 돈다. 우선 현재 위치의 누적합 dp[i]에 값 그대로 arr[i]를 저장한다. 현재위치는 i이고, arr배열을 j=1부터 현재위치 이전(i-1)까지 탐색한다고 할 때, 가장 큰 증가수열이여야 하므로 현재 값 arr[i]가 탐색값 arr[j]보다 크다면 이전누적합 + 현재위치값 과 현재누적합 중 큰 것을 dp[i]에 저장한다. (그래야 가장 큰 합의 증가수열 누적합을 저장할 ..