启动WARN:This primary key of “id“ is primitive !不建议如此请使用包装类 in Class原因分析
项目启动时出现异常。keyType.isPrimitive(),当对象主键类型是原始类型时,报出错误提示。mybatis-plush框架对数据类型进行判断。将对象中的主键改为非原始类型即可。
文章共266字 · 阅读需要大约1分钟
一键AI生成摘要,助你高效阅读
问答
·
现象
项目启动时出现<This primary key of "id" is primitive !不建议如此请使用包装类 in Class:xxx>异常。
WARN 22232 --- [ main] c.b.m.core.metadata.TableInfoHelper : This primary key of "id" is primitive !不建议如此请使用包装类 in Class: "com.lizz.po.UserPO"
原因
mybatis-plush框架对数据类型进行判断
Class<?> keyType = tableInfo.getReflector().getGetterType(property);
if (keyType.isPrimitive()) {
logger.warn(String.format("This primary key of \"%s\" is primitive !不建议如此请使用包装类 in Class: \"%s\"", property, tableInfo.getEntityType().getName()));
}
keyType.isPrimitive(),当对象主键类型是原始类型时,报出错误提示。
解决方案
将对象中的主键改为非原始类型即可。
如:
@Data
public class UserPO {
@TableId(value = "id", type = IdType.AUTO)
private int id;
private String userId;
}
改为:
@Data
public class UserPO {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
private String userId;
}
更多推荐
已为社区贡献13条内容
所有评论(0)