@AllArgsConstructor 这个注解有点坑

我在用springboot 整合mybatis 开发一个秒杀微服务时,遇到了如题的异常,原因是timestamp类型无法转化为int ,而这个异常根本驴头不对马嘴。突然看到@AllArgsConstructor 这个注解赫然在映射实体上躺着,我似乎明白了一切。

这个注解是lombok的注解,全参构造函数,加上就没有没有空参构造了。

而mapper映射,调用的空参构造,再用set方法设置参数。

不需要全参构造,就不要用这个注解,坑滴很!

 

后来我再次把@AllArgsConstructor加上时,报了下面的异常:

Request processing failed; nested exception is org.springframework.data.redis.serializer.SerializationException: Could not read JSON: Cannot construct instance of `com.oo.xxx.entity.Xxxx` (no Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator)

表象上还是没有空参构造,事实上有深层次原因。欢迎大家来讨论

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐