Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/400.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从hibernate锁定整个mysql数据库_Java_Mysql_Hibernate_Orm - Fatal编程技术网

Java 从hibernate锁定整个mysql数据库

Java 从hibernate锁定整个mysql数据库,java,mysql,hibernate,orm,Java,Mysql,Hibernate,Orm,我想从hibernate锁定整个mysql数据库,我的意思是将所有表都置于读取模式。比如: FLUSH TABLES WITH READ LOCK; 然后总是通过hibernate解锁数据库。我认为这种方法是不可取的。在获取所有表的读锁(这可以通过解析信息\u schema.tablestable轻松完成)后,将保持随后在数据库中写入的尝试,直到它们超时为止 此外,会话获取的所有锁都会在会话结束时释放。锁定会话需要保持活动状态才能保持锁定 作为替代方案,我建议撤销应用程序所连接用户的写入权限

我想从hibernate锁定整个mysql数据库,我的意思是将所有表都置于读取模式。比如:

FLUSH TABLES WITH READ LOCK; 

然后总是通过hibernate解锁数据库。

我认为这种方法是不可取的。在获取所有表的读锁(这可以通过解析
信息\u schema.tables
table轻松完成)后,将保持随后在数据库中写入的尝试,直到它们超时为止

此外,会话获取的所有锁都会在会话结束时释放。锁定会话需要保持活动状态才能保持锁定

作为替代方案,我建议撤销应用程序所连接用户的写入权限。要执行此操作,请参阅。或者您可以有两个用户,一个具有所有权限,一个仅具有读取权限。当您想将应用程序置于只读模式时,只需切换用户即可