Hibernate插入oracle数据库,意外标记:值

Hibernate插入oracle数据库,意外标记:值,hibernate,oracle10g,Hibernate,Oracle10g,我正在尝试在Oracle 10g DB中创建一个插入查询。它总是给我这个错误: 错误分析器:33-第1行:115:意外标记:值 这是我要插入的DAO方法 public void uploadFile(String createUser, Integer id, byte[] file, String name, String size, String mime) { Session session = getSessionFactory().openSession(); try

我正在尝试在Oracle 10g DB中创建一个插入查询。它总是给我这个错误:

错误分析器:33-第1行:115:意外标记:值

这是我要插入的DAO方法

public void uploadFile(String createUser, Integer id, byte[] file, String name, String size, String mime) {

    Session session = getSessionFactory().openSession();
    try {
       Query up = session.createSQLQuery("INSERT INTO FILES(CREATE_DATE, CREATE_USER, FILE_DATA, FILE_ID, FILE_MIME, FILE_NAME, FILE_SIZE, ID) VALUES(SYSDATE, :createUser, :file, FILE_ID_SEQ.nextval, :mime, :name, :size, :id) ");

        up.setInteger("id", id);
        up.setBinary("file", file);
        up.setString("name", name);
        up.setString("size", size);
        up.setString("mime", mime);
        up.setString("createUser", createUser);

        up.executeUpdate();

    } catch(HibernateException e) {
        throw new HibernateException(e);
    } finally {
        session.close();
    }
}

检查列列表,您错过了大小:

FILES(CREATE_DATE, CREATE_USER, FILE_DATA, FILE_ID,             FILE_MIME, FILE_NAME, ID) 
VALUES(SYSDATE,    :createUser, :file,     FILE_ID_SEQ.nextval, :mime,     :name,     :size, :id)

只有插入到。。。选择。。。支持形式;不是插入到。。。价值观形式

核心参考,第13章


Ups,对不起,这是纯sql,我什么也没说。

对不起,这不是问题所在,这是我写问题时的一个打字错误@Stefan Steinegger能否打开Hibernate“show_sql”参数并在发送到服务器之前打印sql?还是从Oracle日志打印SQL?可能生成的语句中有一个简单的语法问题。您能显示完整的stacktrace吗?只是尝试打印stacktrace,据我所知,这是我得到的唯一错误,没有stacktrace,您甚至无法确保错误发生在显示的代码中,而不是其他地方。