这几天公司做数据库迁移,从原来的oracle数据库变更为mysql数据库,出现了一个奇怪的问题。
数据源变更为mysql适用的以后出现了一个【java.sql.SQLException: No tables used】的问题,困扰了我四,五天。
数据库连接没问题,jar包没问题,映射文件没问题。这个异常不知道怎么产生的,网上查资料,也基本没有关于这个异常的资料。现在终于找到原因了。
原来,在hibernate数据源配置的时候有一个测试sql【SELECT * FROM DUAL】,但是这个语句只适用于oracle数据库,mysql数据库行不通的,只好改成【SELECT 1 FROM DUAL】,就解决了。
或者字符的应该加单引号:SELECT '*' FROM DUAL
hibernate+mysql一定要注意这个。