인프런 커뮤니티 질문&답변

jaqp7363님의 프로필 이미지

작성한 질문수

실전! Querydsl

Q Class 생성 시 extends 상속 질문

작성

·

499

0

안녕하세요.

Entity class에 extends DefualtEntity 를 할 경우

Q class 생서 시 DefualtEntity 의 값은 Q Class에 누락되는 현상이 있던데

상속을 해서 구성하면 안되는 걸까요?

DefualtEntity 에는

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Seoul")

private LocalDateTime regDate;

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Seoul")

private LocalDateTime udtDate;

@PrePersist

public void prePersist() {

LocalDateTime now = LocalDateTime.now();

regDate = now;

udtDate = now;

}

@PreUpdate

public void preUpdate() {

udtDate = LocalDateTime.now();

}

이런 공통적인 내용을 넣어보려합니다.

답변 2

1

jaqp7363님의 프로필 이미지
jaqp7363
질문자

감사합니다. 개인 서버에 구축 및 실습중인데 잘 해결되었습니다.

개발자로 실력 향상에 도움이 되는 강의 잘 듣고 복습하고 있내요.

앞으로도 좋은 강의 많이 부탁드려요! ^_^

1

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. jaqp7363님

다음과 같이 매핑하면

@MappedSuperclass

public class BaseEntity {

    private LocalDateTime regDate;

    private LocalDateTime udtDate;

    

}

@Entity

@Getter @Setter

public class BasicEntity extends BaseEntity{

    @Id @GeneratedValue

    private Long id;

}

다음과 같이 Q 클래스도 모두 생성되어야 합니다.

@Generated("com.querydsl.codegen.SupertypeSerializer")

public class QBaseEntity extends EntityPathBase<BaseEntity> {}

@Generated("com.querydsl.codegen.EntitySerializer")

public class QBasicEntity extends EntityPathBase<BasicEntity> {}

감사합니다.

만약 BaseEntity 가 다른 모듈에서 관리 되고 있다면, QueryDSL을 사용할 때, 해당 모듈에서도 QueryDSL 설정을 동일하게 해주어야 하나요?

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. 구럴수도있겠땅님

맞습니다. Querydsl 모듈이 있어야 합니다.

감사합니다.

jaqp7363님의 프로필 이미지

작성한 질문수

질문하기