【发布时间】:2016-07-28 07:46:58
【问题描述】:
我正在从一个表中获取数据并想插入到另一个表中。 第一个包含许多字段的表,如果要存储在新表中,我只需要一些字段。为此,我正在使用 Hibernate 查询。 我能够从查询中获取结果,但是当我尝试插入其他表时它会抛出
org.hibernate.hql.internal.QueryExecutionRequestException:不支持 DML 操作 [插入
下面是抛出异常的代码。
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。
【问题讨论】: