Rumah >pangkalan data >tutorial mysql >mysql-mysq会话变量使用疑惑?

mysql-mysq会话变量使用疑惑?

WBOY
WBOYasal
2016-06-06 09:41:23877semak imbas

mysqlc3p0hibernate

使用存储过程和触发器记录字段修改历史!
存储过程中刚有一个SQL:
INSERT INTO x_change_log (x_ID,, UserName,ColumnName, OldValue, NewValue)
VALUES (xId, @UserName,ColumnName, OldValue, NewValue)
除了@userName,其他变量都是从触发器传过来!
userName由hibernate执行update之前设置值!
getHibernateTemplate().getSessionFactory().getCurrentSession().createSQLQuery(
"SET @UserName='" + SpringSecurityUtils.getCurrentUserName()
+ "'").executeUpdate();
getHibernateTemplate().update(entity);

出现的问题是:历史中记录的userName有地混乱!
怀疑是hibernate使用连接池导致的,多个事务共用了一个连接,后面的事务执行set @userName覆盖了前面事务的变量,不知道如何解决!给位大神有什么解决思路吗?
ps:c币不足,见谅!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:求大神,求解mysql问题Artikel seterusnya:mysql如何向mongodb转化