私はあるテーブルからデータを取り込み、別のテーブルに挿入したいと思います。 最初のテーブルには多くのフィールドが含まれていましたが、新しいテーブルに格納するフィールドがいくつか必要でした。そのために私はHibernateクエリを使用しています。 私はクエリから結果を取得することができていますが、私は他のテーブルに挿入しようとすると、それはorg.hibernate.hql.internal.QueryExecutionRequestException:DML操作ではサポートされていません[insert into
に挿入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();
アウトは、上記のコードのために置くが正常に実行さ コマンド....行われたレコードの NUMER ...、21です。 Hibernateがあるので
私はquery.list()を削除しました。プログラムをもう一度実行してください。しかし、依然としてpersistを発行してください。 – Vaibs
@Vaibs私の編集した答えのコードを試してください –
私は上記のコードを投げて例外org.hibernate.hql.internal.ast.QuerySyntaxExceptionを期待しています:OPENが見つかると、 '1'列33の近くに見つかりました[insert into – Vaibs