更新

来源:12-7 实现系统级字段自动填充功能

TimelessPast

2020-12-14

    /**
     * 用户主信息
     */
//    @TableField(value = "username", fill = FieldFill.INSERT_UPDATE) // 设置属性操作的时机,insert和update操作时
    private String username; // 用户名

//    @TableField(value = "password", fill = FieldFill.INSERT_UPDATE) // 设置属性操作的时机,insert和update操作时
    private String password; // 密码

//    @TableField(value = "email", fill = FieldFill.INSERT_UPDATE) // 设置属性操作的时机,insert和update操作时
    private String email; // 邮箱

//    @TableField(value = "age", fill = FieldFill.INSERT_UPDATE) // 设置属性操作的时机,insert和update操作时
    private Integer age; // 年龄

//    @TableField(value = "phone", fill = FieldFill.INSERT_UPDATE) // 设置属性操作的时机,insert和update操作时
    private String phone; // 手机号

老师好
我在UserDO实体类中,这些用户主信息的属性上加了 @TableField(value = “phone”, fill = FieldFill.INSERT_UPDATE)
为什么测试更新时,数据库只更新了重新set的字段,其他没有参与更新的字段都被置为null了,就像JPA似的
注释掉这些注解,其他没有参与更新的字段倒是被保留下来了

这是怎么回事,如何保留注解 并保留那些没有参与更新的字段属性值

写回答

1回答

张小喜

2020-12-16

你更新的时候使用的是覆盖更新 还是选择性更新

0
0

Java高效编程技巧实践 告别996

可以改变的编程效率

1451 学习 · 326 问题

查看课程