E aí pessoal,
seguinte comecei a testar o hibernate como um serviço no JBoss… Até aí tudo bem… Tá funcionando…
O problema é que possuo duas tabelas (pai e filho) e uso um composite-id. Quando insiro a classe pai, tudo bem… Quando insiro a filha dizendo quem é a pai, tbm ocorre tudo certo… Entretanto se tento fazer o seguinte:
FichaTecnica ficha = new FichaTecnica();
ficha.setDmProdutoForrado("A");
ficha.setDmTipoFichaTecnica("0");
ficha.setDtCadastro(Calendar.getInstance().getTime());
ficha.setNrFichaTecnica(1);
ficha.setNrVersao(5);
ficha.setTxObservacao("Hibernate Rulez");
FtFase fase = new FtFase();
FtFaseId faseId = new FtFaseId();
faseId.setIdFtFase(1);
faseId.setFichaTecnica(ficha);
fase.setId(faseId);
HashSet set = new HashSet();
set.add(fase);
ficha.setFtFases(set);
session.save(fase);
session.flush();
Pronto dá erro… Dá StackOverflowError
2003-12-12 16:40:39,340 ERROR [org.jboss.ejb.plugins.LogInterceptor] Unexpected Error:
java.lang.StackOverflowError
Vou postar abaixo os meus mappings:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="com.systemhaus.antara.industrial.engenharia.FichaTecnica" table="FICHAS_TECNICAS">
<id name="idFichaTecnica" column="ID_FICHA_TECNICA" type="integer" unsaved-value="null">
<generator class="increment"/>
</id>
<property name="nrFichaTecnica" column="NR_FICHA_TECNICA" type="integer" length="6" not-null="true"/>
<property name="nrVersao" column="NR_VERSAO" type="integer" length="3" not-null="true"/>
<property name="dtCadastro" column="DT_CADASTRO" type="date" not-null="true"/>
<property name="dmTipoFichaTecnica" column="DM_TIPO_FICHA_TECNICA" type="string" length="1" not-null="true"/>
<property name="dmProdutoForrado" column="DM_PRODUTO_FORRADO" type="string" length="1" not-null="true"/>
<property name="txObservacao" column="TX_OBSERVACAO" type="string" length="150"/>
<set name="ftFases" cascade="all" inverse="true" lazy="true">
<key column="ID_FICHA_TECNICA"/>
<one-to-many class="com.systemhaus.antara.industrial.engenharia.FtFase"/>
</set>
</class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="com.systemhaus.antara.industrial.engenharia.FtFase" table="FT_FASES">
<composite-id name="id" class="com.systemhaus.antara.industrial.engenharia.FtFaseId" unsaved-value="any">
<key-property name="idFtFase" type="integer" column="ID_FT_FASE"/>
<key-many-to-one name="fichaTecnica" class="com.systemhaus.antara.industrial.engenharia.FichaTecnica" column="ID_FICHA_TECNICA"/>
</composite-id>
</class>
</hibernate-mapping>
Alguém já passou por esse problema???
Vallew