- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在从一个表中获取数据并想插入到另一个表中。第一个包含许多字段的表,如果要存储在新表中,我只需要一些字段。为此,我正在使用 Hibernate 查询。我能够从查询中获取结果,但是当我尝试插入到其他表中时,它会抛出
org.hibernate.hql.internal.QueryExecutionRequestException: Not supported for DML operations [insert into
下面是抛出异常的代码。
Query query=session.createQuery(" insert into CustomerMailAddress (subs_id,mail_Id) SELECT DISTINCT subs_id, email_id FROM SubcriberModel WHERE subs_id IS NOT NULL AND email_id IS NOT NULL AND email_id <> ''");
List result = query.list();
int res = query.executeUpdate();
System.out.println("Command successfully executed....");
System.out.println("Numer of records effected...,"+result.size());
当我在不使用 query.executeUpdate() 的情况下运行代码时;方法
Query query=session.createQuery(" SELECT DISTINCT subs_id, email_id FROM SubcriberModel WHERE subs_id IS NOT NULL AND email_id IS NOT NULL AND email_id <> '' UNION ALL SELECT DISTINCT tbl_subscribers_subs_id, email_id FROM SocialProfileModel WHERE tbl_subscribers_subs_id IS NOT NULL AND email_id IS NOT NULL AND email_id <> ''");
List result = query.list();
上面代码的输出是命令成功执行....影响的记录数...,21.
最佳答案
如果你正在进行插入或更新,你应该只调用
query.executeUpdate();
不是
query.list();
像这样尝试(您在选择部分缺少别名,因此 Hibernate 会被 subs_id 混淆):
Query query=session.createQuery("insert into CustomerMailAddress (subs_id, mail_Id)"+"SELECT DISTINCT m.subs_id, m.email_id FROM SubcriberModel m WHERE m.subs_id IS NOT NULL AND m.email_id IS NOT NULL AND m.email_id <> ''");
int res = query.executeUpdate();
System.out.println("Command successfully executed....");
System.out.println("Numer of records effected...,"+result.size());
关于java - org.hibernate.hql.internal.QueryExecutionRequestException : Not supported for DML operations [insert into,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36476002/
org.hibernate.exception.ConstraintViolationException: could not execute statement 我的代码在上面的链接中。起初我遇到了
我正在从一个表中获取数据并想插入到另一个表中。第一个包含许多字段的表,如果要存储在新表中,我只需要一些字段。为此,我正在使用 Hibernate 查询。我能够从查询中获取结果,但是当我尝试插入到其他表
我有一个基于 2.1.0.RELEASE 的 Spring Boot 应用程序,并使用 hibernate 5.3.7.Final 进行大多数交互到数据库,除了几种情况,我想删除对象列表,因此我想执行
我是一名优秀的程序员,十分优秀!