실전! Querydsl 강의를 듣고 정리한 내용입니다.
➡️ 강의 : https://www.inflearn.com/course/querydsl-실전/dashboard
실전! Querydsl 강의 | 김영한 - 인프런
김영한 | Querydsl의 기초부터 실무 활용까지, 한번에 해결해보세요!, 복잡한 쿼리, 동적 쿼리는 이제 안녕! Querydsl로 자바 백엔드 기술을 단단하게. 🚩 본 강의는 로드맵 과정입니다. 본 강의는 자
www.inflearn.com
0. 참고) 코드에서 사용하는 entity
- member
package study.querydsl.entity; import lombok.*; import javax.persistence.*; @Entity @Getter @Setter // protected 인 기본 생성자 만들어줌 @NoArgsConstructor(access = AccessLevel.PROTECTED) // team이 들어가면 안됨! team이 들어가면 team의 member 그리고 member의 team 무한루프 발생하면서 에러 @ToString(of = {"id", "username", "age"}) public class Member { @Id @GeneratedValue @Column(name = "member_id") private Long id; private String username; private int age; // 연관관계 주인 (외래키 있는 곳) @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "team_id") private Team team; public Member(String username){ this(username, 0); } public Member(String username, int age){ this(username, age, null); } public Member(String username, int age, Team team){ this.username = username; this.age = age; if(team != null){ changeTeam(team); } } private void changeTeam(Team team) { this.team = team; team.getMembers().add(this); } }
- teams
package study.querydsl.entity; import lombok.*; import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Entity @Getter @Setter @NoArgsConstructor(access = AccessLevel.PROTECTED) // protected 인 기본 생성자 만들어줌 @ToString(of = {"id", "name"}) public class Team { @Id @GeneratedValue @Column(name = "team_id") private Long id; private String name; @OneToMany(mappedBy = "team") private List<Member> members = new ArrayList<>(); public Team(String name){ this.name = name; } }
728x90
'Querydsl' 카테고리의 다른 글
[실전! Querydsl] 03. 기본 문법 (0) | 2024.07.30 |
---|---|
[실전! Querydsl] 01. 프로젝트 환경설정 (0) | 2024.07.30 |