【问题标题】:Missing IN or OUT parameter at index:: 1索引处缺少 IN 或 OUT 参数:: 1
【发布时间】:2014-04-26 20:21:33
【问题描述】:

我正在尝试用java代码执行一个查询,查询是:

String triggerQuery = 
   "CREATE OR REPLACE TRIGGER global_archive_01
    AFTER INSERT ON archive_01 FOR EACH ROW
    BEGIN
    INSERT INTO archive 
    values (:NEW.id_01 , :NEW.id_02 , :NEW.id_03 , 'test' , :NEW.id_05);
    END;"

Query query = session.createSQLQuery(triggerQuery);
query.executeUpdate();

当我尝试在 SQL Developer 中执行此查询时,它工作正常,但在 jdbc 中却抛出异常。

原因:java.sql.SQLException:索引处缺少 IN 或 OUT 参数::1

Database:  Oracle 10g
Hibernate: 3.0

【问题讨论】:

    标签: sql oracle hibernate jdbc triggers


    【解决方案1】:

    事实证明,当您传递包含 : 的查询时,hibernate 会将其转换为查询中的参数,因此解决方案是在简单的 java 语句上执行查询。

    Connection conn = session.connection();
    Statement state = conn.createStatement();
    state.execute(triggerQuery);
    state.close();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-05
      • 1970-01-01
      • 2014-03-19
      • 1970-01-01
      • 2022-08-22
      • 2022-01-20
      • 1970-01-01
      • 2018-01-31
      相关资源
      最近更新 更多