
1) JPA는 같은 트랜잭션안에서 수행된 건 == 비교를 모두 같은 객체로 가져오도록 함.영속성 컨텍스트에 찾는 엔티티가 이미 있으면 em.getReference()를 호출해도 실제 엔티티 반환\-> 왜냐하면 영속성 컨텍스트에 엔티티가 있다는건 find가 호출되었다는

김영한님 JPA 기본 강의에서는 BaseEntity라는 객체를 만들어 유지보수 시에 유용하게 사용되는 CreatedTime, ModifiedTime, CreatedBy, ModifiedBy 데이터베이스 테이블 컬럼을 쉽게 적용할 수 있는 방법을 공유해준다.이번 포스팅의

JPA로 토이 프로젝트를 진행하는데, 상속 관계 맵핑 구분 컬럼을 enum 값으로 지정하고 싶었다.하지만, @DiscriminatorColumn 에는 String 타입을 Value로 지정하게 되어 있다.체계적으로 관리하기 위해서 어떤 우회적인 방법이 필요했다.https

JPA JPA에서는 상속관계 맵핑을 이용해서 객체지향에서 지원하는 다형성을 DB와 호환할 수 있도록 지원한다. 토이 프로젝트를 하고 있는 과정에서 아래와 같은 문제가 생겼다. > 1.상속 관계 맵핑 중 싱글 테이블 전략을 사용 2.부모 Entity를 이용해서 자식

토이 프로젝트를 개발하는 과정에서 아래와 같은 에러가 발생했다.에러 내용으로 검색을 해보니 비슷한 내용이 굉장히 많았는데, 결론부터 이야기하면 테이블명이 user라서다!아무래도 sql에서 user라는 명사가 많이 사용되다보니 그런듯하다.김영한님의 강의에서도 order

QueryDSL을 사용하고 있어서 페이징 처리를 하려고 fetchResult를 보았더니 deprecated가 되었다?구글링에 검색을 해보니 생각보다 오래전에 deprecated 되었더라..회사에서는 queryDSL를 사용하고 있지 않으니 어쩔수 없나보다.그럼 fetc

QueryDSL에서 추상클래스 Entity 처리하기 오늘은 토이프로젝트를 진행하던 과정에서 발생했던 오류와 간단한 해결 방법에 대해서 정리하고자 합니다. 문제 상황은 다음과 같습니다. 추상클래스로 선언된 Card JPA Entity Card Entity를 상속받은

JPA를 사용해서 컬렉션을 페치 조인하면 조금 의아한 결과가 나온다.(사실 김영한님 강의에서 배운거지만.. 실제로 개발하면서 나온 케이스가 있어 짚고 넘어가려고 한다.)이해가 잘 안될 수 있으니, 하나씩 풀어서 이야기 해보려고 한다.우선 나는 아래와 같은 연관관계를 갖