гибернация версий выдачи обновлений без всякой причины - PullRequest
1 голос
/ 07 мая 2009

Моя версия управления версиями в спящем режиме выдает сообщение об обновлении без видимой причины.

В моем файле сопоставления BankAccount:

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

в файле сопоставления AvailableBalance:

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

Результирующие SQL-операторы выдаются, когда выполняется выбор из таблицы AvailableBalance (через функцию):

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=?

Ответы [ 2 ]

0 голосов
/ 22 декабря 2009

Причина этого обновления, скорее всего, не в том коде, который вы опубликовали.

Чтобы отладить его, вы можете установить точку останова в вашем средстве ведения журнала и посмотреть на стек, который выдает этот оператор.

0 голосов
/ 28 мая 2009

Изменяется ли объект в памяти каким-либо образом после выбора? Если объект помечен как «грязный», в зависимости от вашей стратегии транзакции может произойти фиксация, которая может неявно обновить базу данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...