Tengo 1 clase abstracta Cliente
public abstract class Cliente{luego tengo 2 subclases que heredan de Cliente
private int idcliente;
private String tipocliente;
// Estoy obviando los metodos get y set
}
public class Persona extends Cliente{Mi problema es a la hora de mapear, vi unos ejemplos que usan un tag <discriminator> pero no funciona..
private String nombre;
// Estoy obviando los metodos get y set
}
public class Empresa extends Cliente{
private String razonsocial;
// Estoy obviando los metodos get y set
}
<sqlMap namespace="cliente">
<resultMap id="clienteResult" class="beans.Cliente">
<result property="idcliente" column="idcliente"/>
</resultMap>
<resultMap id="persona" class="beans.Persona" extends="clienteResult">
<result property="nombre" column="nombre"/>
</resultMap>
<resultMap id="empresa" class="beans.Empresa" extends="clienteResult">
<result property="razonsocial" column="razonsocial"/>
</resultMap>
<select id="selectClientes" resultMap="clienteResult" >
SELECT * FROM cliente
</select>
</sqlMap>
Alguien porfavor que haya resuelto un caso parecido, porfavor, busque cada link de google y no hay infomacion suficiente, ni en el manual de Ibatis..
Esto en el DAO JDBC se maneja facil con "instanceOf" para saber de que tipo es el Cliente, pero en IBATIS no se como hacerlo..
Porsiacaso ya me guie de este ejemplo al pie de la letra http://www.cforcoding.com/2009/06/ib...trategies.html
pero me arroja error al no encontrar el atributo nombre en la clase Empresa, claro es obvio porque no existe dicho atributo, ya que le pertenece a la clase Persona..
En verdad estoy desesperado, porque no encuentro la solucion desde varios dias,toda ayuda es muy importante,
De antemano,Muchas Gracias amigos