Java 如何使用Hibernate检查在多数据库应用程序中是否正确设置了必要的权限?

Java 如何使用Hibernate检查在多数据库应用程序中是否正确设置了必要的权限?,java,database,hibernate,architecture,Java,Database,Hibernate,Architecture,我需要在安装程序中添加一个验证,以确保当前用户具有添加表和索引等权限 该应用程序在数据层使用Hibernate,安装程序允许在Oracle、DB2、PostgreSQL和MySQL之间进行选择。我想知道是否可以使用Hibernate独立于所选的数据库进行检查,或者是否必须为每个选项编写代码。您只需尝试创建表(或执行任何需要的操作)并检查是否成功。如果没有,那么您将得到一个异常。如果这还不够,并且您需要关于错误类型的非常精确的信息,那么您可能必须为每个db独立执行此操作我或多或少地执行了此操作,但

我需要在安装程序中添加一个验证,以确保当前用户具有添加表和索引等权限

该应用程序在数据层使用Hibernate,安装程序允许在Oracle、DB2、PostgreSQL和MySQL之间进行选择。我想知道是否可以使用Hibernate独立于所选的数据库进行检查,或者是否必须为每个选项编写代码。

您只需尝试创建表(或执行任何需要的操作)并检查是否成功。如果没有,那么您将得到一个异常。如果这还不够,并且您需要关于错误类型的非常精确的信息,那么您可能必须为每个db独立执行此操作

我或多或少地执行了此操作,但仍然存在一个问题:我创建了表和索引,为该表添加了一些信息,更新并删除了此信息。它测试了我需要的所有必要的特权。但是,可能是因为用户没有DROP权限,所以表和索引将无需保留在数据库中。我目前正在努力解决这个“细节问题”。想想看,这是值得努力的。授予可以随时撤销,即使在您的应用程序成功检查了所有权限之后也是如此。因此,“应该测试什么”可能是一个业务决策,而不是一个技术决策