2013-06-20 28 views
0

Hibernate的自动设置自动提交到假的,甚至是建议不要将其设置为true。休眠单个命令自动提交真实

我发现自己需要为单个数据库命令(我想发送'VACUUM'到我的postgresql数据库,这需要autocommit设置为true)autocommit设置为true,但我想autocommit设置(如推荐的那样)对于其他一切是错误的。

我似乎无法找到任何方式改变自动提交单个会话编程方式设置。

- 我需要有一个单独的配置/ SessionFactory的这一个操作?

谢谢。

+0

VACUUM究竟为您的数据库做了什么?这是什么http://www.sqlite.org/lang_vacuum.html? – sheidaei

+0

这是一个RedShift数据库。非常类似于你发布的sqlite链接。 http://docs.aws.amazon.com/redshift/latest/dg/t_Reclaiming_storage_space202.html – Tinclon

回答

1

我建议将autocommit留为false,但是使用setter作为VACUUM,并在setter调用sessionManager.save(this)的末端使用(假设您可以获得SessionManager句柄)。请务必将VACUUM的AccessType设置为AccessType.FIELD,而不是AccessType.PROPERTY,否则会得到一些不必要的数据库查询。

+0

我不太关注你在说什么。你能否详细说明一下? – Tinclon