2009-12-29 15 views
12

Me trataron de ejecutar una consulta de eliminación de la siguiente manera en la herramienta de HQL de Eclipsehibernación - eliminar HQL en la herramienta Eclipse hibernación

delete from Address address where address.id = 6 

pero me dio la

org.hibernate.hql.QueryExecutionRequestException: Not supported for DML operations 

favor me dicen que he hecho incorrecto. Gracias.

Respuesta

0

This post sugiere intentar abrir una sesión manualmente y luego ejecutar la eliminación.

3

Tuve el mismo problema. Su problema no es el uso de DML ... la primera sugerencia publicó un enlace para una solución para DML, pero su pregunta es para SQL.

Esto funciona a continuación para SQL.

String sql = "delete from ServiceProviderMapping where id=7"; 
Query query = hibernateSession.createQuery(sql); 
query.executeUpdate(); 
1

Por favor, intente lo siguiente:

final String hql = "delete from Job where jobId = :id"; 
Query query = session.createQuery(hql).setLong("id", jobId); 

query.executeUpdate(); 
+0

Copiar/Pegar no es una buena respuesta hacer ... explicar – Andrew

24

Pruebe la anotación @Modifying en el método de actualización.

+0

Según [documentación de Spring] (https://docs.spring.io/spring-data/jpa/docs/current/reference/html/# jpa.modifying-consultas), cada vez que agrega un comportamiento personalizado para modificar consultas que solo necesitan el enlace de parámetros, utilice la anotación '@ Modifying' – Narasimha

Cuestiones relacionadas