使用getBaseMapper().insert()插入数据,实体该字段是field7是空字符串,实际没有插入字符串,插入了null
1、一开始以为是FieldStrategy的配置问题,各自找配置,下面两种配置都试过不行
@TableField(insertStrategy=FieldStrategy.NOT_NULL, value = "field7")
@TableField(insertStrategy=FieldStrategy.IGNORED, value = "field7")
private String field7;
2、看日志打印是有输出空字符串的,插入也是成功的,但是数据库就还是null
024-06-27 11:21:13.674 DEBUG 13568 ---[nio-8199-exec-6]
c.i.f.m.BoFieldsValueMapp er.insert:==>
Preparing: INSERT INTO BO_FILEDSVALUE( projectld, field7) VALUES
( ?, ?, ?, ?, ?,?, ?, ?,?, ?,?,? ?, ? )
2024-06-27 11:21:13.679 DEBUG 13568 ---[nio-8199-exec-6]
c.i.f.m.BoFieldsValueMapp
er.insert ==>
Parameters:149(String),(String)
2024-06-27 11:21:13.685 DEBUG 13568 ---[nio-8199-exec-6]
c.i.f.m.BoFieldsValueMapp er.insert :<== Updates:1
3、把语句翻出来,直接在oracle跑,结果发现也是空值
真相了,oracle遇到空字符串会自动转化为null