需要启用事务,你在执行update操作
你看一下em有没有beginTransaction()之类的方法。
1、若你有使用spring,可以在这个方法体上加上注解:@Transactional
2、在执行query.executeUpdate();的之前增加一句em.joinTransation();
SQL的删除语句就是DELETE 语句
DELETE 语句用于删除表中的行。
语法:DELETE FROM 表名称 WHERE 列名称 = 值
删除某行:DELETE FROM 表名称 WHERE 列名称 = 值(删除条件)
删除所有行:可以在不删除表的情况下删除所有的行。这意味着表的结构、属性和索引都是完整的:DELETE FROM 表名 或者:DELETE * FROM 表名 。
通过使用 DROP 语句,可以轻松地删除索引、表和数据库。
DROP INDEX 索引名称
DROP TABLE 表名称
DROP DATABASE 数据库名称
不删除表,只删除表中的数据:TRUNCATE TABLE 表名称
文中的错误主要在以下几个方面:
第一,文中所使用的“createNativeQuery”方法只能用于查询,不能用于增删改。
第二,需要启用事务,你在执行“update”中操作
第三,你看一下em中有没有beginTransaction()之类的方法。
1、若你有使用spring,可以在这个方法体上加上注解:@Transactional
2、在执行query.executeUpdate();的之前增加一句em.joinTransation();
createNativeQuery
方法只能用于查询哈 不能用于增删改
异常提示需要使用事务。
加上注解@Transactional试试看。