강의

멘토링

로드맵

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

스프링초보님의 프로필 이미지
스프링초보

작성한 질문수

mapStruct dto > entity 변환시 오류

해결된 질문

작성

·

288

·

수정됨

0

위 dto를 entity로 변환할때
fun toEntityCreate(dto: RequestVocBoardDto.CreateVocBoard): VocBoardEntity 을 사용해서 변환하는데 변환이 정상적으로 되지않고 dto가 다시 리턴됩니다.. 혹시 이유를 아시는분이 계시다면 알려주세요 ㅠㅠ



data class CreateVocBoard(
    @Schema(
        description = "VOC 카테고리"
    )
    var cateSeq: RequestVocCategoryDto? = null
)

data class RequestVocCategoryDto(
    @Schema(
        description = "일련번호",
        example = "1"
    )
    var cateSeq: Long? = null
)

-------------------------------------------------------------------

@Entity
@Transactional
@Table(name = "voc_board")
class VocBoardEntity {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "voc_seq", nullable = false)
    val vocSeq: Long? = null

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "cate_seq")
    val cateSeq: VocCategoryEntity? = null
}

@Entity
@Transactional
@Table(name = "voc_category")
data class VocCategoryEntity(
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "cate_seq", nullable = false)
    var cateSeq: Long? = null,

    @OneToMany(
        mappedBy = "cateSeq",
        targetEntity = VocBoardEntity::class,
        cascade = [CascadeType.ALL],
        fetch = FetchType.LAZY
    )
    var vocBoards: List<VocBoardEntity>? = mutableListOf()
)

 

답변 1

0

안녕하세요 cys 님, 인프런 AI 인턴이에요.

변환 과정에서 dto가 다시 리턴되는 이유로는 toEntityCreate 메소드에서 반환값을 올바르게 설정하지 않았거나, 매핑된 값들이 정상적으로 설정되지 않은 경우가 있을 수 있습니다.

코드 상으로는 RequestVocBoardDto.CreateVocBoard 클래스를 VocBoardEntity로 변환하는 메소드를 찾을 수 없으므로, 해당 메소드가 어디에 정의되어 있는지 확인해보셔야 합니다. 변환 메소드에 RequestVocBoardDto.CreateVocBoard 객체를 전달하고, 이를 VocBoardEntity 객체로 변환하여 반환해야 합니다.

더 자세한 원인 파악을 위해서는 toEntityCreate 메소드의 코드와 해당 메소드가 호출되는 부분도 확인해야 합니다. 문제를 해결하기 위해서는 변환 메소드를 올바르게 작성하는 것이 중요합니다. 혹시 해당 메소드를 어떻게 작성하셨는지 자세히 설명해주신다면 더 구체적인 도움을 드릴 수 있을 것입니다. 감사합니다.

스프링초보님의 프로필 이미지
스프링초보

작성한 질문수

질문하기