lombok的@builder 不能新建DO对象 Lombok存在的一些问题
1. 实体类加上 lombok的@builder之后 就不能新建对象了,,,构造函数被覆盖了?


加上两个标签之后解决

2.Lombok存在的一些问题
lombok问题
@Builder和@NoArgsConstructor同时使用时会报错
两个同时使用时需要加上@AllArgsConstructor全参构造函数
数据库对应实体的BO使用了@Builder必须要需要加上@NoArgsConstructor和@AllArgsConstructor
因为mybatis必须要有@NoArgsConstructor创建无参构造函数才能进行操作
实体类上如果有属性有初始化值需要在属性上加@Builder.Default
@Accessors(chain = true)使用注意:使用了这个注解,clone对象不能被赋值
序列化问题
枚举加了@JsonSerialize(using = JsonEnumSerializer.class)注解,序列化时用jackson会报错,需要用fastJson
使用select... for update加悲观锁的sql语句必须加事务
spring中update操作会自动commit,select不会自动commit
https://juejin.im/post/5ce6092ce51d4510b71da563
mysql 字段越多查询越慢,尽量需要哪些字段就查哪些字段
不加索引,条件查询很慢,45000条带不加索引的条件,查询出一条要2.5秒,添加索引后只要0.02秒
组合索引,是最左前缀原则
alter table recharge_card_information add index index_card (card_no,card_money,CARD_PASSWORD) ;
最左前缀原则 :必须要带上card_no条件,card_money,CARD_PASSWORD的索引才会生效
组合索引生效的条件 :
where 后带card_no、where 后带card_no和card_money、where 后带card_no和CARD_PASSWORD
或者 where后带card_no,card_money,CARD_PASSWORD。
总之必须带最左的条件
链接:https://www.jianshu.com/p/f47b59dd347e
lombok的@builder 不能新建DO对象 Lombok存在的一些问题的更多相关文章
- Lombok之@Builder注解
Lombok之@Builder注解 前言 Lombok大家都知道,在使用POJO过程中,它给我们带来了很多便利,省下大量写get.set方法.构造器.equal.toString方法的时间.除此之外, ...
- 使用lombok的@Builder的注解的一个坑
一开发说项目报错 java.lang.Long,java.lang.String,java.lang.String,java.lang.String,java.lang.String,java.lan ...
- sau交流学习社区--在element-ui中新建FormData对象组合上传图片和文件的文件对象,同时需要携带其他参数
今天有一个坑,同时要上传图片和文件,而且图片要展示缩略图,文件要展示列表. 我的思路是: 首先,只上传附件照片,这个直接看ele的官方例子就行,不仅仅上传附件照片,还同时上传其他参数. 然后,再做上传 ...
- JSON序列化不想新建很多对象实体怎么办
不用新建对象,而是用JSONObject 相当于Map类型,重复的key 会覆盖 //序列化JSONObject jsonObject = new JSONObject();jsonObject.pu ...
- 从RAM新建QIcon对象 / Create a QIcon from binary data
一般,QIcon是通过png或ico等图标文件来初始化的,但是如果图标资源已经在内存里了,或者一个zip压缩文件内,可以通过QPixmap作为桥梁,转换为图标. zf = zipfile.ZipFil ...
- 如何在Flash Builder里新建ActionScript工程
新建ActionScript工程 1. File > New > ActionScript Project 2. 按照提示完成工程的创建 使程序直接在Flash Player中运行 1. ...
- php新建数据库对象 基础知识
数据访问 结合html 数据库 PHP面向对象的方式函数的方式 1建立通道 MySQLi 类通过构造函数造出 连接数据库地址 uesername 连接用户名 passwd dbname port so ...
- PyQt中从RAM新建QIcon对象 / Create a QIcon from binary data
一般,QIcon是通过png或ico等图标文件来初始化的,但是如果图标资源已经在内存里了,或者一个zip压缩文件内,可以通过QPixmap作为桥梁,转换为图标. zf = zipfile.ZipFil ...
- EF6 在原有数据库中使用 CodeFirst 总复习(四、新建实体对象)
在原有数据库中使用 CodeFirst ,除了第一次添加实体后要立即执行一次 Enable-Migrations add-migration Initial -IgnoreChanges updat ...
随机推荐
- CoRR 2018 | Horovod: Fast and Easy Distributed Deep Learning in Tensorflow
将深度学习模型的训练从单GPU扩展到多GPU主要面临以下问题:(1)训练框架必须支持GPU间的通信,(2)用户必须更改大量代码以使用多GPU进行训练.为了克服这些问题,本文提出了Horovod,它通过 ...
- HTTP协议和HTTPS协议的那些事
文章目录 HTTPS VS HTTP HTTPS=HTTP+加密+证书+完整性保护 加密 对称加密 非对称加密 混合加密 证书 完整性保护 HTTPS并不能取代HTTP SSL是把双刃剑 HTTPS的 ...
- 树莓派GPIO开发(二)RGB模块-PWM调节
配置环境 系统:Raspbian11(官方64位) 设备:树莓派CM4 一.PWM简单介绍 全称:Pulse-width modulation,脉冲宽度调制,简单的数模转换方法 1.基本原理 脉冲宽度 ...
- Android Camera2获取预览尺寸和fps范围
升降摄像头安卓手机刚上市的时候,有些很流行的app刚打开时,前置摄像头就升起来了.好像就是出来看一眼然后又收回去. 虽然我们不调用拍照功能,只是为了获取相机的信息,也是可能让摄像头升起来的. Came ...
- python数据结构:链表
链表与列表.数组这线性结构不同之处在于其在首末两端增删的话比较方便 单链表: 但是链表查找和删除的话都是需要从第一个开始从头查找 因此查找和删除的复杂度都为O(n) 双链表: 相比单链表来说,每个节点 ...
- 使用教程:宝塔服务器管理助手Linux面版
网页提示:宝塔Linux面板初始化成功,点击登陆页面:直接使用初始化配置时填写的帐号及密码登陆面板功能:网站管理.FTP管理.数据库管理.系统安全.文件管理.计划任务.环境设置. 方法/步骤1: 使用 ...
- strtok()出现segment fault的错误
在写一个简易的 shell 时,需要将命令行的命令通过空格分割成一个个字符串参数,这里我使用了 strtok() 函数,然后遇到了 segment fault 的错误. 出现问题的代码如下: 终于寻找 ...
- 【C# .Net GC】开篇
前言 自从.NET Core 3.0开始对根据自己具体的应用场景去配置GC ,让GC 发挥最好的作用..NET 5 改动更大,而且.NET 5整体性能比.net core 3.1高20%,并且在GC这 ...
- idea常用快捷键及配置
目录 常用快捷键 常用配置 配置修改项 版本2019.1.3,配置.破解插件见网盘 2020.3.4 链接:https://pan.baidu.com/s/1WHsS8-yvHGf1iRopLbKIu ...
- ssh静态代理模式讲解与使用
--作者:飞翔的小胖猪 --创建时间:2021年5月18日 --修改时间:2021年5月23日 一.说明 SSH 为建立在应用层基础上的安全协议.SSH 是较可靠专为远程登录会话和其他网络服务提供安全 ...