728x90 전체 글158 [JPA] 영속성 컨텍스트에 대한 정리 JPA가 내부에서 어떻게 돌아가는지에 대한 이론적 배경을 공부하기 위해 영속성 컨텍스트라는 개념을 공부해 보자. JPA에서 가장 중요한 2가지 객체와 관계형 데이터베이스를 매핑하기 (Object Relational Mapping) 영속성 컨텍스트 (JPA의 내부 동작과 연관된 개념) 이번에는 영속성 컨텍스트에 대한 개념을 정리해 보자. 영속성 컨텍스트 JPA를 이해하는데 가장 중요한 용어로 "엔티티를 영구 저장하는 환경"이라는 뜻이다. EntityManager.persist(entity object); 영속성 컨텍스트를 이용해 entity를 영속화함을 의미한다. EntityManger와 영속성 컨텍스트를 정리하자면, 영속성 컨텍스트는 논리적인 개념으로 눈에 보이지 않는다. EntityManger를 통해 .. 2023. 1. 21. JPA 구동 방식과 애플리케이션 만들어보기 JPA 공부를 위한 프로젝트 생성 정보 DB: h2 database build tool: Maven Java: version 11 pom.xml을 이용해 라이브러리를 추가하고, persistence.xml는 JPA 설정 파일에 해당한다. /META-INF/persistence.xml 위치에 설정 파일을 저장한다. persistence-unit name으로 이름을 지정 javax-persistence: JPA 표준 속성을 의미 hibernate: 하이버네이트 전용 속성을 의미(하이버네이트는 JPA 구현체중 하나) property 태그를 이용해 속성 정보를 하나하나 지정하는 것 같다. user: sa password: 없음 url: jdbc:h2:tcp://localhost/~/test dialect는 방언.. 2023. 1. 20. [JPA] Java 표준 ORM인 JPA란? SQL 중심적인 개발의 문제점 무한 반복, 지루한 코드.. 기획 단계에서 잘못되어 새로운 필드를 테이블에 추가하려 하는 경우, 관련된 모든 쿼리를 전부 변경해야 한다. 하지만, 관계형 데이터베이스를 대부분의 케이스에서 사용하기 때문에, SQL에 의존한 개발을 할 수밖에 없다..!! 개발을 하면서 객체라는 개념을 다양한 저장소에 저장하게 되는데, 이 중 현실적인 대안은 관계형 데이터베이스이다. 개발자는 사실상 객체를 관계형 데이터베이스에 저장하기 위한 mapping 과정을 도맡아 한다고 볼 수 있음 객체와 관계형 데이터베이스의 차이 상속 연관관계 데이터 타입 데이터 식별 방법 상속 부모 테이블을 만들고, 자식 테이블을 만들어 관리하는 방식으로 흉내 낼 수 있고, 이를 슈퍼타입 서브타입으로 만들어 관리한다고.. 2023. 1. 19. 김영한 님의 [스프링 핵심 원리 - 기본편] 강의 후기 강의 후기 이번에는 한 3주가량?에 걸쳐서 스프링핵심원리 - 기본편 강의를 들은 후기를 짧게나마 남겨보려고 합니다. Node.js로 백엔드 개발에 입문하고, 아무래도 대다수의 국내 기업의 백 엔드 개발자들이 사용하는 Spring 프레임워크에 대한 관심이 커져가서 관련 서적이나 강의들을 찾아보던 찰나에 인프런 강의 중에서 김영한 님의 스프링 강의 시리즈가 아주 좋다는 추천을 많이 보게 되어서 커리큘럼을 처음 접하게 되었습니다. https://www.inflearn.com/roadmaps/373 우아한형제들 최연소 기술이사 김영한의 스프링 완전 정복 - 인프런 | 로드맵 대세를 따르세요! 자바 스프링 베스트셀러 우형 최연소 기술이사에게 배우는 스프링 완전 정복 🚩 [사진] 오픈 3개월 만에 수강생 7000+.. 2023. 1. 19. BOJ - 10868번, 최솟값 문제 Segment Tree를 이용한 풀이 이번 문제는 주어진 N개의 정수들에 대해 M번의 구간 최솟값을 묻는 질의에 올바른 답을 반환하는 알고리즘을 구현하는 것이 목표입니다. 물론, 구간의 최솟값을 확인하기 위해 linear한 탐색 방식을 취할 수 있겠지만, 이렇게 하는 경우 - worst case 100,000(N의 최댓값) x 100,000(M의 최댓값) = 10^12번의 연산 위와 같이 연산의 횟수가 너무 커서 시간 초과를 결과로 받게 될 것입니다. 따라서 지난번에 정리한 세그먼트 트리의 개념을 구간 합을 구하는 대신 최솟값을 구할 수 있도록 변형해서 이번 문제를 풀이하는 방식을 채택해 봤습니다. https://kkkdh.tistory.com/entry/%EC%84%B8%EA%B7%B8%EB%A8%BC%ED%8A%B8-%ED%8A%B8%E.. 2023. 1. 18. BOJ - 3584번, 가장 가까운 공통 조상 [LCA] 이번에 풀이한 문제는 3584번 LCA(Lowest Common Ancestor), 최소 공통 조상 문제입니다. 문제 제목에서 알 수 있듯이, 트리 정보를 입력받은 후에 두 개의 노드의 최소 공통 조상을 찾으면 되는 문제입니다. 최소 공통 조상은 위 그림과 같이 부모 노드로 타고 올라갈 때, 가장 높이가 낮으면서, 두 개의 노드의 공통 조상인 노드입니다. 이러한 유형을 풀어봤던 것 같은데, 각 노드의 부모 노드 정보를 저장한 뒤에 이를 활용해야 한다는 부분까지는 생각이 났는데, 정확한 알고리즘이 생각나지 않아 다른 분들의 풀이를 참고했습니다. 더 효율적인 방법이 있겠지만, 일단 이 문제에 적용할 수 있는 가장 쉬운 풀이는 하나의 노드가 먼저 부모를 거슬러 올라가며, 방문 처리하며 탐색한 뒤에 두 번째 노.. 2023. 1. 17. 이전 1 ··· 10 11 12 13 14 15 16 ··· 27 다음 728x90