erictamlam 2015-04-27 02:17 采纳率: 0%
浏览 5959

hibernate save方法出错

对应的代码:

 public void saveAService(Services service) {
        // TODO Auto-generated method stub
        svcMngDao.save(service);
    }
    @Id
    @Column(name="ID")
    @GeneratedValue(strategy=GenerationType.TABLE, generator="TableGen")
    @TableGenerator(name="TableGen", table="ID_GEN", 
    pkColumnName="KEYID", valueColumnName="KEYVALUE", pkColumnValue="SERVICE_ID", allocationSize=1)
    public Integer getId(){
        return id;
    }

出错前控制台信息:
Hibernate: select tbl.KEYVALUE from ID_GEN tbl where tbl.KEYID=? for update
1430097341147|6|statement|connection 30|select tbl.KEYVALUE from ID_GEN tbl where tbl.KEYID=? for update|select tbl.KEYVALUE from ID_GEN tbl where tbl.KEYID='SERVICE_ID' for update
Hibernate: update ID_GEN set KEYVALUE=? where KEYVALUE=? and KEYID=?
1430097341155|4|statement|connection 30|update ID_GEN set KEYVALUE=? where KEYVALUE=? and KEYID=?|update ID_GEN set KEYVALUE=5 where KEYVALUE=4 and KEYID='SERVICE_ID'
1430097341158|2|commit|connection 30||
Hibernate: insert into SERVICES (SERVICE_HOST, SERVICE_NAME, SERVICE_STATE, ID) values (?, ?, ?, ?)
1430101036539|11|statement|connection 28|insert into SERVICES (SERVICE_HOST, SERVICE_NAME, SERVICE_STATE, ID) values (?, ?, ?, ?)|insert into SERVICES (SERVICE_HOST, SERVICE_NAME, SERVICE_STATE, ID) values ('192.168.0.1', 'ActiveX Installer', 'started', 4)
1430101036563|1|rollback|connection 28||

出错时控制台信息:
四月 27, 2015 10:17:16 上午 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet [dispatcherServlet] in context with path [/PodCloud] threw exception [Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessResourceUsageException: could not execute statement; SQL [n/a]; nested exception is org.hibernate.exception.SQLGrammarException: could not execute statement] with root cause
java.sql.SQLSyntaxErrorException: ORA-00942: 表或视图不存在

at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:439)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:395)
at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:802)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:436)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:186)
at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:521)
at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:205)
at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1008)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1307)
at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3449)
at oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3530)
at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.java:1350)
  • 写回答

3条回答 默认 最新

  • threenewbee 2015-04-27 02:22
    关注

    主要是看你的映射和数据库表是否一致。包括了不可空字段、字段名、字段类型、文本字段的长度等等。

    评论

报告相同问题?

悬赏问题

  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch