hibernate版本控制无故发布更新语句

时间:2009-05-07 15:14:45

标签: hibernate

我的hibernate版本控制是在没有明显原因的情况下发布更新语句。

在我的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>

从AvailableBalance表(通过函数)完成select时发出的sql语句:

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 :(得分:0)

选择后,对象是否在内存中以任何方式被修改?如果对象标记为脏,则根据您的事务策略,可能正在发生可能隐式更新数据库的提交。

答案 1 :(得分:0)

更新的原因很可能不在您发布的代码中。

要调试它,您可以在日志工具中设置一个断点,并查看发出此语句的堆栈。