본문 바로가기

Web

맨땅에 JPA - Entity와 QClass

728x90
반응형

이전 포스트에선 JPA 기본 설정들을 알아보았다.

 

https://thecardeveloper.tistory.com/28

 

맨땅에 JPA - 설정

이번 포스트부터 JPA를 한 번 다뤄보려 한다. 본인도 아직 강의를 듣거나 학습을 우선적으로 진행한 것이 아니라 실제 개발을 하면서 그냥 한 번 부딪혀 본 것이기 때문에 정확한 정보 전달보다

thecardeveloper.tistory.com

 

이번에는 설정 이후 

사용해야 하는 QClass와 Entity를 알아보겠다.

먼저 QClass를 생성하려면 Entity 객체가 존재해야 한다.

 

Entity에 대해 알아보자.

Entity란 쉽게 생각하면 Database 테이블에 대응하는 하나의 클래스이다.

 

코드로 살펴보면

위와 같이 CommonCodeGroup이라는 Entity 클래스가 있다.

어노테이션을 알아보면

 

@Entity 

 

@Table 

  • 엔티티와 매핑할 테이블을 지정(name = "Database에 생성한 테이블 명")

@Id

  • 해당 컬럼이 고유식별키(Primary key)라는 것
  • @Id는 Entity의 필수 요소

@GeneratedValue 

  • 고유식별키를 어떤 방식으로 생성될지 설정

@Column

  •  해당 변수와 매핑 할 테이블 컬럼 지정
  • (name = "id") 위의 예시로 풀어 설명하면 private String id;는 Database에 'common_code_group'이라는 테이블에 'id'라는 컬럼과 매핑된다.

 

이렇게 Entity를 생성 했다면 이제는 QClass를 생성할 차례이다.

gradle 설정에서 Task -> other 'compileQuerydsl' 이 생성된 걸 볼 수 있을 것이다.

compileQuerydsl이 보이지 않을 경우에는 gradle 새로고침을 한 번 해보길 바란다.

 

그렇게 compileQuerydsl을 실행하면 프로젝트 내에 있는 Entity를 읽어서 QClass를 만들어준다.

QClass의 위치는 앞서 '설정' 포스트에서 작성한 build.gradle에 설정 되어 있다.

위와 같이 생성된 QClass를 확인 하였다면 성공적이라 할 수 있겠다.

 

다음 포스트에서는 생성한 QClass를 이용하여 QueryDSL로 Database를 조작해 보겠다.

#어렵다

 

728x90
반응형