Estou fazendo um projeto onde utiliza hibernate com xml’s.
arquivo xml da tabela [color=blue]transacao[/color]
<hibernate-mapping>
<class name="Transacao" table="TRANSACAO">
<id name="idtransacao" type="java.lang.Integer">
<column name="IDTRANSACAO" precision="3" scale="0" />
<generator class="increment"></generator>
</id>
<property name="notransacao" type="string">
<column name="NOTRANSACAO" length="60" />
</property>
<property name="nopaginaweb" type="string">
<column name="NOPAGINAWEB" length="60" />
</property>
<set name="transusrs" inverse="true">
<key>
<column name="IDTRANSACAO" precision="3" scale="0" />
</key>
<one-to-many class="Transusr" />
</set>
</class>
</hibernate-mapping>
arquivo xml da tabela [color=blue]Transusr[/color]
<hibernate-mapping>
<class name="Transusr" table="TRANSUSR" >
<id name="idtransusr" type="java.lang.Integer">
<column name="IDTRANSUSR" precision="6" scale="0" />
<generator class="increment"></generator>
</id>
<many-to-one name="transacao" class="Transacao" fetch="select" >
<column name="IDTRANSACAO" precision="3" scale="0" />
</many-to-one>
<many-to-one name="usuario" class="Usuario" fetch="select">
<column name="IDUSUARIO" precision="3" scale="0" />
</many-to-one>
</class>
</hibernate-mapping>
arquivo xml da tabela [color=blue]Usuario[/color]
<hibernate-mapping>
<class name="Usuario" table="USUARIO">
<id name="idusuario" type="java.lang.Integer">
<column name="IDUSUARIO" precision="3" scale="0" />
<generator class="increment"></generator>
</id>
<property name="login" type="string">
<column name="LOGIN" length="15" not-null="true" unique="true" />
</property>
<property name="senha" type="string">
<column name="SENHA" length="30" />
</property>
<property name="nousuario" type="string">
<column name="NOUSUARIO" length="60" />
</property>
<property name="cpf" type="java.lang.Long">
<column name="CPF" precision="11" scale="0" />
</property>
<property name="flgativo" type="java.lang.String">
<column name="FLGATIVO" length="1" />
</property>
<property name="expprocacesso" type="java.lang.String">
<column name="EXPPROCACESSO" length="1" />
</property>
<set name="transusrs" inverse="true" cascade="all">
<key>
<column name="IDUSUARIO" precision="3" scale="0" />
</key>
<one-to-many class="Transusr" />
</set>
</class>
</hibernate-mapping>
Eu tenho o método que me retorna as transações:
public List getMenu(Usuario user) {
List menu = null;
Session session = HibernateUtil.getCurrentSession();
Criteria criteria = session.createCriteria(Transacao.class);
menu = criteria.list();
HibernateUtil.closeSession();
return menu;
}
O problema eh que ele está retornando todos os id’s (registros) da tabela transação, o ideal seria ele fazer o relacionamento com a tabela [color=blue]Transusr[/color] e assim retornando somente os registros que tem o relacionamento. Alguém sabe o que está errado?