insert语句在pl/sql中替换数据可以执行,但是java中却报错

问题描述

insert语句在pl/sql中替换数据可以执行,但是java中却报错

java语句:
public int initiating(String title, String content, String numberLimit,String fkCustomerId) {
String pkId = "44";
String sql="insert into ACTIVITY_INFO (pk_id,title,content,fk_customer_id,number_limit,create_date) values(:pkId,:title,:content,:fkCustomerId,:numberLimit,sysdate)";
Query query = this.getSession().createQuery(sql);
query.setParameter("pkId", pkId);
query.setParameter("title", title);
query.setParameter("content", content);
query.setParameter("fkCustomerId", fkCustomerId);
query.setParameter("numberLimit", numberLimit);
int num = query.executeUpdate();
return num;
}
报错信息:
严重: Servlet.service() for servlet [springMvc] in context with path [/CREOAMS] threw exception [Request processing failed; nested exception is org.hibernate.hql.ast.QuerySyntaxException: unexpected token: values near line 1, column 89 [insert into ACTIVITY_INFO (pk_id,title,content,fk_customer_id,number_limit,create_date) values(:pkId,:title,:content,:fkCustomerId,:numberLimit,sysdate)]] with root cause
org.hibernate.hql.ast.QuerySyntaxException: unexpected token: values near line 1, column 89 [insert into ACTIVITY_INFO (pk_id,title,content,fk_customer_id,number_limit,create_date) values(:pkId,:title,:content,:fkCustomerId,:numberLimit,sysdate)]
at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:54)

解决方案


Query query = this.getSession().createQuery(sql);//HQL语句不能这么写,直接用save就完了。
使用

Query query = this.getSession().createSQLQuery(sql);
时间: 2024-12-03 06:13:22

insert语句在pl/sql中替换数据可以执行,但是java中却报错的相关文章

PL/SQL number型数据_oracle

number(<p>,<s>) 精度p取值范围1-38有效位s取值范围-84-127 最高整数位数=p-s s正数,小数点右边指定位置开始四舍五入s负数,小数点左边指定位置开始四舍五入s是0或者未指定,四舍五入到最近整数当p小于s时候,表示数字是绝对值小于1的数字,且从小数点右边开始的前s-p 位必须是0,保留s位小数. --num_test start------------------------------------------------ Connected to Ora

Java中ResultSet数据自动填充到类中&amp;amp;类实例填充PreparedStatement

需求: (1)提取ResultSet中值到一个类中挺麻烦的,需要new一个变量,使用对应成员的Set方法赋值,能不能根据类的Class,直接提取出ResultSet中的数据,最后返回实例化的类? (2)可以用PreparedStatement预编译带变量的sql语句,在execute之前需要将变量值填充进去,一个一个设置太麻烦了,能不能提供一个类变量,使用类成员变量的值自动填充PreparedStatement? 这样的功能许多开源的框架可以实现,但是不想因为这么一点点的需求去学习那么庞大的一套

mysql-MySQL数据库从表1(table1)中导出数据到(table2)中。会有多列。

问题描述 MySQL数据库从表1(table1)中导出数据到(table2)中.会有多列. table1 字段:id name url table2: 需要获取 table1 中的id url 请问怎样实现? 用sql实现的时候需要注意字段名字和顺序吗? 解决方案 字段名称随便,但是要对应起来,包括类型. create table table2 ( id int primary key, name varchar(20), ) insert into table2(id,name) select

请各位一下.如何将C#中的数据网格表中的数据导到EXCEL表中?

问题描述 请各位一下.如何将C#中的数据网格表中的数据导到EXCEL表中? 解决方案 解决方案二:是GridView导出EXCEL吗?解决方案三:从网上找到的,引用Excel库usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem

怎样把一个datagridview表中的数据存为一个数据库中的一个数据表?

问题描述 如题....在线等..... 解决方案 解决方案二:从它的数据源datatable直接循环构成insert语句即可解决方案三:SqlCommandBuilderSCB=newSqlCommandBuilder(dataAdapter1);dataAdapter1.Update(dgv1.Tables[0]);解决方案四:注意要定义变量dataAdapter1,ds1dgv要绑定ds1.Tables[0]SqlCommandBuilderSCB=newSqlCommandBuilder(

框架-JAVA问题:删除数据库中数据的代码,测试不会报错,但实际什么都删不了

问题描述 JAVA问题:删除数据库中数据的代码,测试不会报错,但实际什么都删不了 这些操作做完后,数据库里的t_product表中,id=2的数据依然在,不是刷新的问题,刷新也还在 解决方案 为什么你的三个函数保存.修改.删除方法调用sql的时候都没有传递sql参数值呢? 解决方案二: 调用mapper里面的sql代码的时候,把要删除的id传进去了吗?不应该是sqlsession.delete("",参数);吗? 解决方案三: 参数没带.sqlsession.delect带上id 解决

如何从sqlite数据库中获取数据并显示在listview中?

问题描述 如何从sqlite数据库中获取数据并显示在listview中? 在登录页面后,我想在listview中把Apple显示成A,Boy显示成B等等,直到F.但是在程序中当我完全登录后,只有登录表成功创建,主菜单还是没有创建. 我想在test database中创建主菜单,然后我想从主菜单表(mainmenu table)中获取数据再显示在listview中. 我使用了下面的代码: if(username.length()>0&&password.length()>0) {

关于从oracle 数据库中导出数据到csv格式文件中

问题描述 关于从oracle 数据库中导出数据到csv格式文件中 最近有个任务是从oracle中导出数据到csv 中的,因为数据库中的数据比较多,大概30万条,请问下,有哪个大神做个这种的,能不能导入这么大的数据 解决方案 将数据从DataGridView中导出成CSV格式文件oracle数据库的表数据导出为csv文件oracle数据库怎么导入csv格式文件呢 解决方案二: 不可以,分批导就行了 解决方案三: 可以使用常用的连接数据库的工具进行导入和导出,导出的时候导出行号,导入的时候建个表,行

从数据库中取得数据,复选框中与之相等则选中

问题描述 从数据库中取得数据,复选框中与之相等则选中 从数据库中取得数据,后台返回的值与前台复选框的值一致则复选框默认被选中(使用aashx处理界面) 解决方案 取到数据后 循环你要更改的 复选框,值相同的 就选中 checked 解决方案二: 用js搞就好了..你的ashx是返回数据源的吧,处理界面是什么东东.. <input type="checkbox" name="ck" value="1" />1 <input typ