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 回答