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