Mapeamento Hibernate para classes herdadas

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!!! :wink:

Por favor ninguem tem nenhuma sugestão?

O forum é algo comunitário, e o pessoal que ajuda os
outros faz isso no tempo livre - o que, em muitos casos, é quase
inexistente. Se ninguém respondeu ainda, tenha paciencia e espere até
que alguem o faça :wink:

Sem comentários…

Por favor alguma solução ou algum comentário válido…

Eu agradeço!

Como eu ja disse…

O forum é algo comunitário, e o pessoal que ajuda os
outros faz isso no tempo livre - o que, em muitos casos, é quase
inexistente. Se ninguém respondeu ainda, tenha paciencia e espere até
que alguem o faça :wink:

Por favor, espere. Ficar dando up no topico nao vai te ajudar e terei que acabar moderando estas mensagens.