0

当我在测试服务器上部署 Web 应用程序时(它在 localhost 上运行良好),这个 BLO_BlOCKED_MOBILES 表在给定的代码行中。

Query query = this.getSession().createSQLQuery(
            strQuery.append(" INSERT INTO BLO_BlOCKED_MOBILES (BLO_CUSTOMER_ID_FK,BLO_MOBILE,BLO_NEWMOBILE,BLO_PASSPORT,BLO_STATUS,BLOCKED_BY,BLOCKED_AT ) "
             +"VALUES( "+customer.getId() +", '"+ oldMobile +"','"+newMobile+"','"+customer.getPassportNo()+"','Y','user',CURRENT_TIMESTAMP)" ).toString());
    mtmrsLogger.info(query.toString());
    int affectedRows = query.executeUpdate(); 

数据库在 mysql 中,应用程序使用 hibernate、struts 1 和 spring。我创建了这个新表,在 hibernate.cfg.xml 上添加了这个

 < mapping class="com.mtmrs.model.branch.BlockedMobile"/>

并创建了模型文件 BlockedMobile.java

当它被使用时,会出现以下错误。

WARN  org.hibernate.util.JDBCExceptionReporter  - SQL Error: 1146, SQLState: 42S02
ERROR org.hibernate.util.JDBCExceptionReporter  - Table 'merchantrade.blo_blocked_mobiles' doesn't exist

如果信息不充分,请告诉我。我看不出有什么问题。

4

2 回答 2

0

Peraphs 两个数据库(在您的本地主机服务器和测试服务器上)是不同的。所以测试服务器没有得到你的表。

于 2013-07-19T11:07:24.183 回答
0

根据错误信息,测试服务器上的 MySQL 数据库中不存在该表blo_blocked_mobiles或该方案。merchantrade

于 2013-07-20T15:46:26.200 回答