Pessoal estou querendo fazer com que o Hibernate me retorne este relacionamento:
select empresa.cd_empresa,
empresa.dc_nome_completo,
empresa.dc_nome_reduzido,
moeda.dc_moeda
from tb_empresa empresa,
tb_moeda moeda
where empresa.cd_empresa = moeda.cd_empresa
and empresa.cd_moeda = moeda.cd_moeda
Para isso eu criei as seguintes classes
public class Empresa implements Serializable {
private Long codigoEmpresa = null;
private String razaoSocial = null;
private String nomeFantasia = null;
private Moeda moeda = null;
// metodos get e set
}
public class MoedaPK implements Serializable {
private Empresa empresa = null;
private String codigoMoeda = null;
// metodos get e set
}
public class Moeda implements Serializable {
private MoedaPK moedaPk = null;
private String descricaoMoeda = null;
// metodos get e set
}
Também criei os arquivos de mapeamento no Hiberante
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="br.com.farots.eco.bean.Empresa" table="TB_EMPRESA" >
<id name="codigoEmpresa" column="CD_EMPRESA" type="java.lang.Long" unsaved-value="0">
<generator class="sequence">
<param name="sequence">GE_CODIGO_EMPRESA</param>
</generator>
</id>
<bag name="moeda" inverse="true" lazy="true" cascade="all">
<key column="CD_MOEDA"/>
<one-to-many class="br.com.farots.eco.bean.Moeda"/>
</bag>
<property name="razaoSocial" column="DC_RAZAO_SOCIAL" type="java.lang.String" />
<property name="nomeFantasia" column="DC_NOME_FANTASIA" type="java.lang.String" />
</class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="br.com.farots.eco.bean.Moeda" table="TB_MOEDA" >
<composite-id name="moedaPk" class="br.com.farots.eco.bean.MoedaPK">
<key-many-to-one name="empresa" column="CD_EMPRESA"/>
<key-property name="codigoMoeda" column="CD_MOEDA" />
</composite-id>
<property name="descricaoMoeda" column="DC_MOEDA" type="java.lang.String" />
</class>
</hibernate-mapping>
Estou usando DynaAction e eles está definido assim
<form-bean name="empresaForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="codigoEmpresa" type="java.lang.Long"/>
<form-property name="razaoSocial" type="java.lang.String"/>
<form-property name="nomeFantasia" type="java.lang.String"/>
<form-property name="moeda" type="java.lang.String"/>
</form-bean>
Pessoal como eu devo mapear esse relacionamento ? eu estou meio q perdido já vi que existe uma tag chamada <bag>, <set>, <one-to-one>…to viajandoooo… rsss alguém pode me ajudar?
valeu pessoal! Feliz Ano Novo!