MyBatisPlus——忽略某个实体类属性和数据库表字段之间的
映射关系
问题描述
在开发中可能会遇到MyBatis-Plus使⽤实体类属性进⾏SQL操作,但是不⽤存到数据库中去查,这时候我们的实体中有这个属性,但是数据库的表中没有这个字段(即:实体类属性⾮数据库表字段),如果不做处理就会报错。
API
@TableName:数据库表相关
@TableId:表主键标识
@TableField:表字段标识
@TableLogic:表字段逻辑处理注解(逻辑删除)
解决⽅案
忽略映射字段时可以在实体类属性上使⽤以下注解:
@TableField(exist = false):表⽰该属性不为数据库表字段,但⼜是必须使⽤的。
jpa mybatis
@TableField(exist = true):表⽰该属性为数据库表字段。
在实体类的属性上⾯加上这个注解后,此字段就不会映射数据库了。
@TableField(exist = false)
private Position position;
Spring data jpa 或 Hibernate
//数据库不存在的这个字段
@Transient
private String test;
参考⽂章