场景:我在将本地编译过的系统重新编译,使用远程数据库,远程数据由于没有权限,只能用指定的用户名和密码,访问指定的数据库,所以需要将连接串等信息修改后重新编译。(没有写成活的,这个应该改改)
更换数据库后就出现了问题:
root cause
org.hibernate.exception.SQLGrammarException: could not execute query
************
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: SELECT command denied to user'databasename'@'127.0.0.1' for table
原因与解决:
因为Hibernate Tools(或者Eclipse或MyEclipse本身的Database Explorer)生成*.hbn.xml工具中包含有catalog="databasename"(*表示数据库名称)这样的属性,将该属性删除就可以了。如下图所示(所有的全部删除)