<typeAlias alias="customerVo" type="org.nexweb.qol.gcc.model.CustomerVO"/>
<resultMap id="customerRS" class="customerVo"> <result property="custStatus" column="CUST_STATUS"/> <result property="firstName" column="FIRST_NAME"/> <result property="middleName" column="MIDDLE_NAME"/> <result property="lastName" column="LAST_NAME"/> <result property="customerDependentVo.depFirstName" column="DEP_FIRST_NAME"/> <result property="customerDependentVo.depLastName" column="DEP_LAST_NAME"/> </resultMap> <select id="getListOfCustomersBySSNMask" resultMap="customerRS" parameterClass="java.util.Map"> SELECT cs.cust_status, cu.first_name, cu.middle_name, cu.last_name, dep.first_name as dep_first_name, dep.last_name as dep_last_name FROM qol_customer cu, qol_dependent dep WHERE AND cu.cust_id = dep.cust_id (+) </select> public class CustomerVO implements Serializable { private Integer custId; private Integer custStatus; private String firstName; private String middleName; private String lastName; private CustomerDependentVO customerDependentVo; ... all the accessor methods } public class CustomerDependentVO implements Serializable { private Integer custId; private String depFirstName; private String depLastName; private String depMiddleName; ... all the accessors }