Pessoal, estou com o seguinte problema: Possuo uma entidade Material e duas entidades filhas (Droga e Equipamento).
meu material.hbm.xml ficou da seguinte forma:
<joined-subclass name="org.sakaiproject.lar.model.Drug" table="vl_drug" extends="org.sakaiproject.lar.model.Material">
<key column="materialId"/>
<property name="physicalState" type="string">
<column name="physical_state" length="50">
<comment></comment>
</column>
</property>
<property name="concentration" type="java.lang.Float">
<column name="concentration" precision="12" scale="0">
<comment></comment>
</column>
</property>
<property name="description" type="string">
<column name="description" length="100" not-null="true">
<comment></comment>
</column>
</property>
</joined-subclass>
<joined-subclass name="org.sakaiproject.lar.model.Equipment" table="vl_equipment">
<key column="materialId"/>
<property name="type" type="string">
<column name="type" length="50" not-null="true">
<comment></comment>
</column>
</property>
<property name="description" type="string">
<column name="description" length="100" not-null="true">
<comment></comment>
</column>
</property>
</joined-subclass>
</class>
Para persistir os dados em um dos filhos, está funcionando corretamente (adiciona um Id no pai tbem, idêntico ao id do filho - o primary key do filho é uma chave estrangeira para o PK do pai)
Meu problema é o seguinte: Se eu faço uma consulta diretamente em material (pai), eu nao consigo fazer a navegacao e saber qual filho é referente àquele pai. Eu consigo simplesmente retornar o Id do pai. Será que meu erro está sendo no model? o model do pai está da seguinte forma:
public class Material implements java.io.Serializable {
private Long materialId;
private Set equipments = new HashSet(0);
private Set drugs = new HashSet(0);
Se por exemplo eu consulto o ID=1 no pai, ele me deveria retornar uma droga, e se eu consulto a propriedade size da droga, ele retorna 0.
Alguem tem ideia do que seja?