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

下面是两个例子:

[java]   view plain copy print ?
  1. Query query=session.createQuery("insert into UserInfo(username,password,email) values(?,?,?)");  
像上面的hql语句在编译的时候会报错,

[java]   view plain copy print ?
  1. Exception in thread "main" org.hibernate.hql.ast.QuerySyntaxException: expecting OPEN, found 'values' near line 1, column 22 [insert into Userinfo values('aaf')]  
  2.     at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:54)  
  3.     at org.hibernate.hql.ast.QuerySyntaxException.convert(QuerySyntaxException.java:47)  
  4.     at org.hibernate.hql.ast.ErrorCounter.throwQueryException(ErrorCounter.java:82)  
  5.     at org.hibernate.hql.ast.QueryTranslatorImpl.parse(QueryTranslatorImpl.java:284)  
  6.     at org.hibernate.hql.ast.QueryTranslatorImpl.doCompile(QueryTranslatorImpl.java:182)  
  7.     at org.hibernate.hql.ast.QueryTranslatorImpl.compile(QueryTranslatorImpl.java:136)  
  8.     at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:101)  
  9.     at org.hibernate.engine.query.HQLQueryPlan.<init>(HQLQueryPlan.java:80)  
  10.     at org.hibernate.engine.query.QueryPlanCache.getHQLQueryPlan(QueryPlanCache.java:94)  
  11.     at org.hibernate.impl.AbstractSessionImpl.getHQLQueryPlan(AbstractSessionImpl.java:156)  
  12.     at org.hibernate.impl.AbstractSessionImpl.createQuery(AbstractSessionImpl.java:135)  
  13.     at org.hibernate.impl.SessionImpl.createQuery(SessionImpl.java:1651)  
  14.     at com.xmetc.hibernate.test.HQL07.main(HQL07.java:23)  
因此,

[java]   view plain copy print ?
  1. //String queryString3 = "insert into Userinfo  values()";//不支持.  
[java]   view plain copy print ?
  1. String queryString3 = "insert into Userinfo select ... from .. ";//支持.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值