지금 그렇게 되어있긴한데 그럼 그냥 애그리거트 클래스를 새로 만드는게 좋을까?
그냥 findById로 조회한 엔티티를 루트로 쓰고 싶었거든
익명(14.35)2024-10-12 13:29
답글
DDD 방식으로 함?
백갤러 1(211.241)2024-10-12 15:26
답글
오버헤드 생각해서 지금 방식으로 구현했는데
유지보수적인 면에서 별로인거 같아서 DDD로 시도해보는중임
근데 연관 엔티티 매핑할때 조건을 추가하려니 무결성 때문에 FETCH JOIN 에 ON 은 사용 불가하더라고
그래서 지금 그냥 각 엔티티들은 연관 pk만 들고있고
애그리거트 클래스를 새로 만들까 싶네
해보면되지
전에 해봤는데 조인을 지맘대로 이상하게 했었던 기억이 남. 지연로딩안하고 페치 조인으로 가져올랬는데 그럴라면 뭐 with 절 지원안하니까 블레이즈 퍼시스턴스 라이브러리 쓰라고 예외 띄우던데
연관관계 걸지말고 JPQL이나 QueryDSL 써
지금 그렇게 되어있긴한데 그럼 그냥 애그리거트 클래스를 새로 만드는게 좋을까? 그냥 findById로 조회한 엔티티를 루트로 쓰고 싶었거든
DDD 방식으로 함?
오버헤드 생각해서 지금 방식으로 구현했는데 유지보수적인 면에서 별로인거 같아서 DDD로 시도해보는중임 근데 연관 엔티티 매핑할때 조건을 추가하려니 무결성 때문에 FETCH JOIN 에 ON 은 사용 불가하더라고 그래서 지금 그냥 각 엔티티들은 연관 pk만 들고있고 애그리거트 클래스를 새로 만들까 싶네
Optional findByManager_manager_idAndManager_gender(Long id, String gender)
존재유무만 확인한다면 exist가 더 좋아보임
페치 조인으로 가져오고 싶었음. 지연로딩 안하고
그럼 @Query 쓰면 되니까 훨씬 편하지
찾아보니 join fetch는 on에 조건 추가를 허용하지 않는대 직접 JPQL 작성하더라도 마찬가지임
WHERE은 가능하잖아
물론 데이터가 정상적으로 불러와지는지 테스트와 Transactional read Only 를 설정해줘야하지만...
Inner join이라면 그래도 되겠지만 난 left outer join을 하려는거라 Where쓰면 드라이빙 테이블의 레코드까지 필터링 될 여지가 있어서 안됨 둘이 결과가 달러
그리고 readOnly도 애매한게 C.uD용도로 애그리거트 루트를 구성해서 조회하려는건데 읽기전용으로 할 순 없지...
jqpl써서 list형태로 엮어라 - dc App
ManyToOne 관계인데 그렇게 할 수가 있나
? 뭐가 안된다는거 left join으로 엮어 - dc App
employee는 manager 하나만 갖고있는 상태인데 강제로 OneToMany관계로 풀어내라는 얘기임?