【JavaWeb】 Not supported for DML operations

在UPDATE时报错。

解决:添加@Modifying注解。

这里写图片描述

百度到的总结:

(1)可以通过自定义的 JPQL 完成 UPDATE 和 DELETE 操作。
注意: JPQL 不支持使用 INSERT;
(2)在 @Query 注解中编写 JPQL 语句, 但必须使用 @Modifying 进行修饰. 以通知   SpringData, 这是一个 UPDATE 或 DELETE 操作
(3)UPDATE 或 DELETE 操作需要使用事务,此时需要定义 Service 层,在 Service 层的方法上添加事务操作;
(4)默认情况下, SpringData 的每个方法上有事务, 但都是一个只读事务。
他们不能完成修改操作。

另外还发现一个问题:

hibernate在映射数据库字段的时候不支持驼峰命名。

如果数据库中存在userName这样的字段,hibernate在执行更新操作时,或将查询语言转化为user_name,会重新生成一个user_name字段,导致update无效。

JavaWeb中,for循环与在Java程序中使用的for循环相同,主要有以下几种形式: 1. 普通for循环 普通for循环的语法如下: ``` for (初始化表达式; 布尔表达式; 更新表达式) { //代码块 } ``` 其中,初始化表达式只会在循环开始之前执行一次,通常用于定义循环计数器或者初始化变量;布尔表达式用于判断循环是否继续执行,如果为真,则执行循环体中的代码块,否则跳出循环;更新表达式可以用于更新循环计数器或者其他变量的值,每次循环结束后都会执行。 示例代码: ``` for (int i = 0; i < 10; i++) { System.out.println("当前计数器的值为:" + i); } ``` 2. 增强for循环 增强for循环也称为foreach循环,它用于遍历数组或者集合中的元素。语法如下: ``` for (元素类型 变量名 : 数组或者集合) { //代码块 } ``` 示例代码: ``` String[] names = {"Tom", "Jerry", "Mike", "John"}; for (String name : names) { System.out.println("当前元素的值为:" + name); } ``` 3. while循环和do-while循环 while循环和do-while循环在JavaWeb中也可以使用,用法与在Java程序中相同。 while循环的语法如下: ``` while (布尔表达式) { //代码块 } ``` do-while循环的语法如下: ``` do { //代码块 } while (布尔表达式); ``` 示例代码: ``` int i = 0; while (i < 10) { System.out.println("当前计数器的值为:" + i); i++; } int j = 0; do { System.out.println("当前计数器的值为:" + j); j++; } while (j < 10); ``` 以上就是在JavaWeb中使用for循环的几种形式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

勇敢牛牛_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值