회사 코드를 온보딩 기간 중 살펴보던 중 CrudRepositry를 구현한 Repository가 있어 왜 JpaRepsotiory 대신 사용하셨을까라는 궁금증으로 해당 차이점을 공부하기 시작했다.
이번 카카오 테크 캠퍼스에서 @Table(value="")와 @Column(value="")에서 선언했던 value들이 제대로 적용되지 않는 문제가 발생하게 되었다.구글링을 통해서 이름 매핑 전략을 사용하라는 조언들을 찾을 수 있었는데, 이름 매핑 전략은 무엇일까?지금
Enum을 사용한 내 코드먼저 JPA에서 Enum 타입을 다루는 방식을 살펴보기 위해서 먼저 @Enumerated 어노테이션에 대해서 살펴볼 필요가 있다.먼저 @Enumerated 어노테이션은 두가지 기능을 지원한다.첫째 ORDINAL, Enum의 선언된 순서를 Int
카카오 테크 캠퍼스 프로젝트를 개발하는 중 생긴 일이다.나는 DB 설계대로 엔티티 개발을 하고 있었다.이 때 산책과 채팅방 엔티티를 OneToOne으로 연관 짓고자 하였는데, 산책에 채팅방 외래키를 두어 단방향으로 연관 짓고자 하였다.아래는 엔티티 코드들이다.산책 En
JPA에서 1:N 양방향 관계인 Member와 Team 엔티티가 있다고 하자.Team.classMember.classmappedBy는 연관 관계의 주인이 아닌 곳에 두어야 하니, Member에 두어야 한다.mappedBy의 값으로는 주인 엔티티에 존재하는 본인 외래키
어떤 방법을 사용하든 JPQL에서 모든 것이 시작된다.JPQL은 객체지향 쿼리언어다. 따라서 테이블을 대상으로 쿼리하는 것이 아니라 엔티티 객체를 대상으로 쿼리한다.JPQL는 SQL을 추상화해서 특정 데이터베이스 SQL에 의존하지 않는다.JPQL는 결국 SQL로 변환된
엔티티의 변경 사항을 데이터베이스에 자동으로 반영하는 기능을 변경 감지, Dirty Checking이라고 한다.나는 이번 에코노베이션 DEV의 프로젝트를 개발하면서, 엔티티 수정을 Dirty Cheking 방식으로 개발하였는데, 이 때 궁금한 점들이 발생했다.내가 가졌
저번 글에서 짧게 이야기 했던 부분을 다시 이야기 해보기 위해서 먼저 코드를 보여주고, 궁금한 점을 이야기 해보겠다.UpdateMentoInfoHandler.classMentoService.class저번 글에서 가지고 있던 궁금증이 해결되어서 즐거운 마음으로 있었으나,
Board와 Reply는 1:N 관계이며, 즉시 로딩으로 설정하였다.위 코드를 해석을 해보자면, 주어진 board_id에 해당하는 게시물(board_tb)과 이에 연결된 댓글(reply_tb)의 정보를 검색하여 반환한다는 뜻이며, 자세한 설명은 아래 적어두었다.외부 조