2016-05-18 7 views
0

を修正されたオブジェクトが読ま設定し、我々はなくて、「Reglement」オブジェクトを読んだとき、私は「Reglement」オブジェクト(申し訳ありませんが、フランス語のコード)Hibernateのマッピングは、私のプロジェクトで

の具体的な行動に最近、最近のマッピングリードを気づきました任意の修飾サブオブジェクト「ventilationDepenses」が削除され、再度作成され、そう「Reglement」オブジェクトが設定されている状態(バージョン)された修正さ

Hibernate: update MOUVEMENT_FINANCIER set DATE_VERSION=?, COMMENTAIRE=?, DATE_ANNULATION=?, DATE_CREATION=?, TYPE=?, MODE_PAIEMENT=?, MONTANT_MOUVEMENT=?, NATURE=?, STATUT=?, DATE_CHEQUE=?, NUMERO_CHEQUE=?, INDIVIDUAL_OPERATION_ID=?, DATE_AUTORISATION=?, FRANCHISE=?, INDEMNISATION_PLUS=?, INDEMNITE_FORFAITAIRE=?, MONTANT_PROPOSE=?, OBJET_REGLEMENT=?, REFERENCE_LIEE=?, SOLDE_REGLEMENTS_BENEFICIAIRE=?, TAUX_T1=?, TAUX_T2=?, TAUX_T3=?, TAUX_TU=?, TYPE_BENEFICIAIRE=?, TYPE_DESTINATAIRE=?, EST_SOUMIS_TVA=?, PK_MVT_FINANCIER_LIE=?, DATE_TRAITEMENT_BATCH=?, BORDEREAU_ID=?, TRANSACTION_ID=?, PK_PERSONNE_BENEFICIAIRE=?, PK_ACTEUR_BENEFICIAIRE=?, PK_ADD_COUR_REG_BENEF=?, PK_PERSONNE_DESTINATAIRE=?, PK_ACTEUR_DESTINATAIRE=?, PK_ADD_COUR_REG_DEST=?, PK_RIB=? where PK_MOUVEMENT_FINANCIER=? and DATE_VERSION=? 
Hibernate: update MOUVEMENT_FINANCIER set DATE_VERSION=?, COMMENTAIRE=?, DATE_ANNULATION=?, DATE_CREATION=?, TYPE=?, MODE_PAIEMENT=?, MONTANT_MOUVEMENT=?, NATURE=?, STATUT=?, DATE_CHEQUE=?, NUMERO_CHEQUE=?, INDIVIDUAL_OPERATION_ID=?, DATE_AUTORISATION=?, FRANCHISE=?, INDEMNISATION_PLUS=?, INDEMNITE_FORFAITAIRE=?, MONTANT_PROPOSE=?, OBJET_REGLEMENT=?, REFERENCE_LIEE=?, SOLDE_REGLEMENTS_BENEFICIAIRE=?, TAUX_T1=?, TAUX_T2=?, TAUX_T3=?, TAUX_TU=?, TYPE_BENEFICIAIRE=?, TYPE_DESTINATAIRE=?, EST_SOUMIS_TVA=?, PK_MVT_FINANCIER_LIE=?, DATE_TRAITEMENT_BATCH=?, BORDEREAU_ID=?, TRANSACTION_ID=?, PK_PERSONNE_BENEFICIAIRE=?, PK_ACTEUR_BENEFICIAIRE=?, PK_ADD_COUR_REG_BENEF=?, PK_PERSONNE_DESTINATAIRE=?, PK_ACTEUR_DESTINATAIRE=?, PK_ADD_COUR_REG_DEST=?, PK_RIB=? where PK_MOUVEMENT_FINANCIER=? and DATE_VERSION=? 
Hibernate: update MOUVEMENT_FINANCIER set DATE_VERSION=?, COMMENTAIRE=?, DATE_ANNULATION=?, DATE_CREATION=?, TYPE=?, MODE_PAIEMENT=?, MONTANT_MOUVEMENT=?, NATURE=?, STATUT=?, DATE_CHEQUE=?, NUMERO_CHEQUE=?, INDIVIDUAL_OPERATION_ID=?, DATE_AUTORISATION=?, FRANCHISE=?, INDEMNISATION_PLUS=?, INDEMNITE_FORFAITAIRE=?, MONTANT_PROPOSE=?, OBJET_REGLEMENT=?, REFERENCE_LIEE=?, SOLDE_REGLEMENTS_BENEFICIAIRE=?, TAUX_T1=?, TAUX_T2=?, TAUX_T3=?, TAUX_TU=?, TYPE_BENEFICIAIRE=?, TYPE_DESTINATAIRE=?, EST_SOUMIS_TVA=?, PK_MVT_FINANCIER_LIE=?, DATE_TRAITEMENT_BATCH=?, BORDEREAU_ID=?, TRANSACTION_ID=?, PK_PERSONNE_BENEFICIAIRE=?, PK_ACTEUR_BENEFICIAIRE=?, PK_ADD_COUR_REG_BENEF=?, PK_PERSONNE_DESTINATAIRE=?, PK_ACTEUR_DESTINATAIRE=?, PK_ADD_COUR_REG_DEST=?, PK_RIB=? where PK_MOUVEMENT_FINANCIER=? and DATE_VERSION=? 
Hibernate: delete from VENTILATION_DEPENSES where PK_MOUVEMENT_FINANCIER=? 
Hibernate: insert into VENTILATION_DEPENSES (PK_MOUVEMENT_FINANCIER, CODE_NATURE_DEPENSE, MONTANT_DEPENSE, COMMENTAIRE_DEPENSE) values (?, ?, ?, ?) 
Hibernate: delete from VENTILATION_DEPENSES where PK_MOUVEMENT_FINANCIER=? 
Hibernate: insert into VENTILATION_DEPENSES (PK_MOUVEMENT_FINANCIER, CODE_NATURE_DEPENSE, MONTANT_DEPENSE, COMMENTAIRE_DEPENSE) values (?, ?, ?, ?) 
Hibernate: delete from VENTILATION_DEPENSES where PK_MOUVEMENT_FINANCIER=? 
Hibernate: insert into VENTILATION_DEPENSES (PK_MOUVEMENT_FINANCIER, CODE_NATURE_DEPENSE, MONTANT_DEPENSE, COMMENTAIRE_DEPENSE) values (?, ?, ?, ?) 
Hibernate: insert into VENTILATION_DEPENSES (PK_MOUVEMENT_FINANCIER, CODE_NATURE_DEPENSE, MONTANT_DEPENSE, COMMENTAIRE_DEPENSE) values (?, ?, ?, ?) 

偽=特に怠け者「ventilationDepenses」のマッピングにリンクしているようで。私は、何が起こっているのか、私たちのマッピングが間違っているのかを理解したいと思います。

ここはマッピングの一部です。

 <id name="pk" type="integer" column="PK_MOUVEMENT_FINANCIER" unsaved-value="null"> 
      <generator class="com.prima.solutions.primaclaims.core.dao.impl.PkGenerator"> 
       <param name="table">SEQUENCE</param> 
       <param name="primary_key_column">ENTITE</param> 
       <param name="primary_key_value">MOUVEMENT_FINANCIER</param> 
       <param name="value_column">NUMERO</param> 
      </generator> 
     </id> 

     <discriminator column="CLASSE" type="integer" /> 
     <timestamp column="DATE_VERSION" name="version" unsaved-value="null" /> 

     <property name="commentaire" column="COMMENTAIRE" /> 
     <property name="dateAnnulation" type="timestamp" column="DATE_ANNULATION" /> 
     .... 

     <subclass name="com.prima.solutions.primaclaims.core.modele.sinistre.financier.Encaissement" discriminator-value="2"> 
      <property name="natureRecuperation" column="NATURE_RECUPERATION" /> 
      <property name="typeEmetteur" column="TYPE_EMETTEUR" /> 
      <property name="bankName" column="NOM_BANQUE" /> 
      <property name="accountOwner" column="TITULAIRE_COMPTE" /> 
      <property name="transferLabel" column="LIBELLE_VIREMENT" /> 

      .... 
     </subclass> 

     <subclass name="com.prima.solutions.primaclaims.core.modele.sinistre.financier.Reglement" discriminator-value="1"> 
      <property name="dateAutorisation" type="timestamp" column="DATE_AUTORISATION" /> 
      <property name="franchise" column="FRANCHISE" /> 
      <property name="indemnisationPlus" column="INDEMNISATION_PLUS" /> 
      <property name="indemniteForfaitaire" column="INDEMNITE_FORFAITAIRE" /> 
      ... 

      <many-to-one name="beneficiaire" column="PK_PERSONNE_BENEFICIAIRE" 
       class="com.prima.solutions.primaclaims.core.modele.referentiel.personne.Personne" cascade="none" fetch="join" lazy="false"/> 

      ... 

      <set name="ventilationDepenses" table="VENTILATION_DEPENSES" cascade="all,delete-orphan" lazy="false"> 
       <key column="PK_MOUVEMENT_FINANCIER" not-null="true" /> 
       <composite-element class="com.prima.solutions.primaclaims.core.modele.sinistre.financier.Depense"> 
        <property name="nature" column="CODE_NATURE_DEPENSE"/> 
        <property name="montant" column="MONTANT_DEPENSE" /> 
        <property name="version" column="DATE_VERSION"/> 
        <property name="commentaire" column="COMMENTAIRE_DEPENSE"/> 
       </composite-element> 
      </set> 
     </subclass> 

    </class> 

答えて

0

ソンムの調査の後には、複合要素の原因を使用してトランザクションのので、/ insert文を削除しているようです。マッピングは、私たちのオブジェクト「VentilationDepenses」のために多くのマッピングとエンティティクラスに1を定義するために変更されました

<class name="com.prima.solutions.primaclaims.core.modele.sinistre.financier.MouvementFinancier" table="MOUVEMENT_FINANCIER" 
    discriminator-value="0" abstract="true"> 
    ... 

    <subclass name="com.prima.solutions.primaclaims.core.modele.sinistre.financier.Reglement" discriminator-value="1"> 
    ... 
     <set name="ventilationDepenses" cascade="all,delete-orphan" fetch="join"> 
      <key column="PK_MOUVEMENT_FINANCIER" /> 
      <one-to-many class="com.prima.solutions.primaclaims.core.modele.sinistre.financier.Depense"/> 
     </set> 
    </subclass> 

</class> 

<class name="com.prima.solutions.primaclaims.core.modele.sinistre.financier.Depense" table="VENTILATION_DEPENSES"> 
    <composite-id> 
     <key-property name="pkReglement" column="PK_MOUVEMENT_FINANCIER" /> 
     <key-property name="nature" column="CODE_NATURE_DEPENSE"/> 
    </composite-id> 

    <timestamp column="DATE_VERSION" name="version" unsaved-value="null" /> 

    <property name="montant" column="MONTANT_DEPENSE" /> 
    <property name="commentaire" column="COMMENTAIRE_DEPENSE" /> 
</class> 
関連する問題