Olá Boa tarde!
Estou com um problema com o hibernate:
Tenho tres entidades: Cliente, ClientePF, ClientePJ, estas duas ultimas herdam a classe Cliente. Então para mapear o hibernate eu uso a estratégia Tabela por subclasse, e o generete-class=“identity” ate ai tudo bem. Só que a ClientePJ possui um relacionamento para a table ContatosClientePj, definida para a classe ContatosClientes, entao realizo o mapeamento para o hibernate na classe ClientePJ, porem na hora da gravação me ocorre um erro onde o hibernate ao meu ver tenta gravar primeiro o ClientePJ na table ContatosClientePJ gerando um erro pq ate entao o id do ClientePJ é null para posteriormente gravar nas Classes Cliente e ClientePJ qdo deveria ser ao contrário. Alguém ja passou por uma situação parecida? O que fazer?
Mapeamento Cliente subClasse: ClientePJ e ContatosClientes
<id
name="id"
column="NUMG_Cliente"
type="java.lang.Integer"
>
<generator class="identity">
<!--
To add non XDoclet generator parameters, create a file named
hibernate-generator-params-Cliente.xml
containing the additional parameters and place it in your merge dir.
-->
</generator>
</id>
/***ClinetePJ***/
<joined-subclass
name="br.com.asert.admin.entidade.ClientePJ"
table="CL_ClientesPJ"
>
<key
column="NUMG_Cliente"
/>
/***ContatosClientes****/
<bag
name="contatos"
table="CL_ClientesPjContatos"
lazy="false"
inverse="true"
cascade="all-delete-orphan"
>
<key
column="NUMG_ClientePJ"
>
</key>
<one-to-many
class="br.com.asert.admin.entidade.ContatoCliente"
/>
</bag>
Mapeamento ContatosClientes para ClientePJ
<id
name="id"
column="NUMG_ClientePjContato"
type="java.lang.Integer"
>
<generator class="identity">
<!--
To add non XDoclet generator parameters, create a file named
hibernate-generator-params-ContatoCliente.xml
containing the additional parameters and place it in your merge dir.
-->
</generator>
</id>
/***ClientePJ em ContatosClientes***/
<many-to-one
name="clientePJ"
class="br.com.asert.admin.entidade.ClientePJ"
cascade="none"
outer-join="auto"
update="true"
insert="true"
column="NUMG_ClientePJ"
/>
Agradeço muito se alguem puder me ajudar!!!