기존에 사용되고 있는 resultMap을 확장하여 새로운 resultMap을 정의하는 것이 필요했습니다.
extends 키워드를 사용하면 확장할 수 있습니다.
다음은 예시 코드입니다.
<!-- 공통 속성ㅇ르 정의한 resultMap -->
<resultMap id="BaseResultMap" type="com.example.BaseEntity">
<id property="id" column="id" />
<result property="name" column="name" />
</resultMap>
<!-- ChildResultMap: BaseResultMap 재활용 -->
<resultMap id="ChildResultMap" type="com.example.Child" extends="BaseResultMap">
<!-- BaseResultMap의 프로퍼티들을 재사용하면서 추가 필드를 정의할 수 있습니다. -->
<result property="age" column="child_age"/>
</resultMap>
<!-- ParentResultMap: BaseResultMap 재활용 -->
<resultMap id="ParentResultMap" type="com.example.Parent" extends="BaseResultMap">
<!-- 자식 객체 리스트 포함 -->
<collection property="children" ofType="com.example.Child" resultMap="ChildResultMap"/>
</resultMap>