Heim >Datenbank >MySQL-Tutorial >mysql-mysq会话变量使用疑惑?

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

WBOY
WBOYOriginal
2016-06-06 09:41:23874Durchsuche

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币不足,见谅!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:求大神,求解mysql问题Nächster Artikel:mysql如何向mongodb转化