wb_it_man 2021-06-09 09:35 采纳率: 66.7%
浏览 454
已采纳

insert语句报错,unexpected token: values

public void savesouveniridget(int playerId, int souvenirId, String issouvenirget) {
		// TODO Auto-generated method stub
		String hql= "insert into record_player_souvenir(playerId,souvenirId,souIsSeeAdv,issouvenirget)values('"+ playerId +"','"+ souvenirId +"','false','"+ issouvenirget +"')";
		System.out.println(hql);
		Session session = getSessionFactory().openSession();
		Query q = session.createQuery(hql);
		q.executeUpdate();
		
	}

报错信息:

[2021-06-09 09:33:21,169][ERROR][org.hibernate.hql.internal.ast.ErrorCounter.reportError(ErrorCounter.java:60)][Thread-10] - line 1:82: unexpected token: values - 
[2021-06-09 09:33:21,170][ERROR][org.hibernate.hql.internal.ast.ErrorCounter.reportError(ErrorCounter.java:55)][Thread-10] - line 1:82: unexpected token: values - 
line 1:82: unexpected token: values
    at org.hibernate.hql.internal.antlr.HqlBaseParser.selectFrom(HqlBaseParser.java:1037)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:730)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.selectStatement(HqlBaseParser.java:323)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.insertStatement(HqlBaseParser.java:355)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.statement(HqlBaseParser.java:192)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:279)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:187)
    at org.hibernate.hql.internal.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:142)

 

 

换种写法,就报这个错误

 

insert into RecordPlayerSouvenir values('5115','0','false','true')
[2021-06-09 09:36:30,911][ERROR][org.hibernate.hql.internal.ast.ErrorCounter.reportError(ErrorCounter.java:60)][Thread-11] - line 1:34: expecting OPEN, found 'values' - 
[2021-06-09 09:36:30,912][ERROR][org.hibernate.hql.internal.ast.ErrorCounter.reportError(ErrorCounter.java:55)][Thread-11] - line 1:34: expecting OPEN, found 'values' - 
line 1:34: expecting OPEN, found 'values'
    at antlr.Parser.match(Parser.java:211)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.insertablePropertySpec(HqlBaseParser.java:833)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.intoClause(HqlBaseParser.java:815)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.insertStatement(HqlBaseParser.java:353)
    at org.hibernate.hql.internal.antlr.HqlBaseParser.statement(HqlBaseParser.java:192)

 

 

数据库就是四个字段,列名和values是可以对应的

 

 

Hibernate hql: 只支持用法 INSERT INTO ... SELECT ... FROM吗?

  • 写回答

1条回答 默认 最新

  • wb_it_man 2021-06-09 09:46
    关注

    hibernate面向对象查询,不支持insert

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元
  • ¥15 matlab答疑 关于海上风电的爬坡事件检测
  • ¥88 python部署量化回测异常问题