2009-05-07 9 views
1

Mon versionnement Hibernate émet une instruction de mise à jour sans raison apparente.hibernate versioning qui publie une mise à jour sans raison

Dans mon BankAccount fichier de mapping:

<version type="dbtimestamp" name="modified" column="Modified"/> 

INTHE AvailableBalance fichier de mapping:

<many-to-one name="bankAccount" class="model.businessdomain.orm.BankAccount" fetch="select" > 
    <column name="BankAccountId" not-null="true" /> 
</many-to-one> 

Le résultat des instructions SQL émises, lorsqu'une sélection est effectuée à partir de la table de AvailableBalance (via une fonction):

17:12:16,152 DEBUG SQL:401 - select * from dbo.get_availablebalancelist(?) ab where ab.bankAccountId = ? 
17:12:31,539 DEBUG SQL:401 - select current_timestamp 
17:12:31,625 DEBUG SQL:401 - update dbo.BankAccount set Modified=?, BankAccountTypeId=?, BankID=?, InterestSchemeID=?, BankAccNo=?, SysParamID=?, BankAccName=?, BranchCode=?, UserRef=?, CAMSCode=?, Provision=?, ProvisionPerc=?, OverDraftLimit=?, isIslamic=?, Active=? where BankAccountId=? and Modified=? 

Répondre

0

L'objet est-il modifié en mémoire de quelque manière que ce soit? r le select? Si l'objet est marqué comme étant sale, selon votre stratégie de transaction, une validation peut être en cours, ce qui peut impliquer une mise à jour implicite de la base de données.

0

La raison de cette mise à jour n'est probablement pas dans le code que vous avez publié. Pour le déboguer, vous pouvez définir un point d'arrêt dans votre fonction de journalisation et examiner la pile qui émet cette instruction.

Questions connexes