메모 & 삽질기록보관소

메모 & 삽질기록보관소

JPA와 서브쿼리 (JPA 서브쿼리의 한계)

발단 지금까지 공부했던 자바, 스프링, 데이터베이스 등을 온전히 내 것으로 소화하고자 개인 프로젝트를 하나 진행하고 있다. 상품을 게시하고, 그 상품을 구매할 수 있는 간단한 웹사이트를 만들고 있는데 상품을 구현하는 부분에서 서브쿼리를 써야 하는 상황이 발생했다. 그와 관련된 자세한 내용은 다음과 같다. 참고로 데이터베이스는 MariaDB를, jdbc 라이브러리(맞는 표현인가..?)는 JPA 하이버네이트를 사용하고 있었다. ( + 스프링 데이터 JPA를 사용하지 않고 EntityManager를 직접 사용하여 데이터베이스 매핑 로직을 구현하고 있었다 ) 상황 상품 테이블과 리뷰 테이블이 존재했다. 상품 테이블과 리뷰 테이블은 1:N으로 묶여 있었다. Foreign Key는 리뷰 테이블에 ITEM_ID라는 ..

메모 & 삽질기록보관소

[JPA] 연관관계 주인과 CASCADE 옵션

김영한님의 실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발 수업을 듣고 혼자 수업 내용을 복습을 하는데 기존에 내가 이해했었던 부분과 충돌이 되는 듯한 부분을 발견했다. @OneToMany(mappedBy = "order", cascade = cascadeType.ALL) private List ... 뭐지 이거..? 하는 생각이 순간 들었다. 그 이유는 다음과 같다. 첫 번째, 연관관계를 매핑하는 애노테이션에 mappedBy 속성이 들어가게 되면 해당 필드는 데이터를 조회하는 기능만을 갖게 된다. 즉, 해당 필드는 반대편 연관관계 주인을 비추는 거울의 역할만을 담당하게 되는 것인데 이로서 이 필드는 데이터를 데이터베이스 내에 삽입하거나 수정하는 기능을 상실하게 된다. 두 번째, 반대로 ca..

메모 & 삽질기록보관소

MOOC를 통한 프로그래밍 공부 커리큘럼 가이드

아~~~~~~~~~~~~~~~~~~~~~~~주 먼날에 꺼내보지 않을까 하지만, 그냥 두면 잊어버릴 것 같아 적어둠! MOOC(Massive Open Online Courses) : MIT, Harvard, Stanford와 같은 유명 대학의 강의를 해당 대학 학생이 아닌 사람들이 온라인으로 들을 수 있게 만든 것! 내용이 상당히 깊을 것으로 예상되고 무엇보다 영어강의이기 때문에, 나중에... 나중에 "필요하면" 듣자. 지금은 아직 이런 수업을 들을 동기를 받을 수 없다! 커리큘럼 가이드 : https://hackernoon.com/i-wanted-to-learn-computer-science-so-i-created-my-own-degree-heres-my-curriculum-bad56f28c278 // ..

석이
'메모 & 삽질기록보관소' 카테고리의 글 목록 (2 Page)