0

orm.xml に名前付きネイティブ クエリがあります。

<named-native-query name="deleteAuthTokenByToken">
    <query><![CDATA[DELETE FROM AUTH_TOKEN WHERE TOKEN=:token]]></query>
</named-native-query>

コードでこのクエリを次のように実行しようとしています

em.getTransaction().begin();
em.createNamedQuery("deleteAuthTokenByToken").setParameter("token", token).executeUpdate();
em.getTransaction().commit();

orm.xml でクエリを実行するとエンティティ マネージャー自体が作成されず、例外が発生する

Caused by: org.hibernate.cfg.NotYetImplementedException: Pure native scalar queries are not yet supported

しかし、 createNativeQuery() を使用すると、同じクエリが機能します

4

1 に答える 1

0

ここに結果クラスがありません。に変更したら解決しました

<named-native-query name="deleteAuthTokenByTokenAndOrgId" result-class="com.modria.jpa.DO.AuthToken">
    <query><![CDATA[DELETE FROM AUTH_TOKEN WHERE TOKEN=:token AND ORG_ID=:orgId]]></query>
</named-native-query>
于 2012-05-03T08:06:42.363 に答える