Hibernate的catalog导致数据库连接与实际操作的库不一致

来源:互联网 发布:工作站品牌 知乎 编辑:程序博客网 时间:2024/04/30 08:36

一、问题描述
1、Java项目工程下数据库连接地址信息,与实际操作的数据库不符合,即select是指定的数据库,insert的记录又去别的库了。
2、新增mysql用户,navicate能连,但java eclipse环境不让查询,说是没有权限。

二、问题分析
这是hibernate的catalog导致的错误
例如:catalog指定了数据库名为Test,并且该服务器的数据库中Test数据库仍然存在,所以执行insert操作时,自动在Test数据库上操作了。
新增用户同理,会自动根据catalog去查询数据库,而新用户未给Test数据库授权,所以报没有权限错误。但navicate不受此影响,所以显示正常。

三、解决办法及经验教训
在所有的实体类中,去掉catalog,以后不要再用这个属性了。

1 0