springboot @Transient无效的问题
我在实体类中要加一个数据库中没有的字段private List<Dept> children;以前因为都是自己写的sql语句,遇到这种比如要添加自定义的list,都是直接在mapper.xml里用 collection的<collectionproperty="children" javaType="java.util.List"resultMap="childrenResult
·
我在实体类中要加一个数据库中没有的字段
private List<Dept> children;
以前因为都是自己写的sql语句,遇到这种比如要添加自定义的list,都是直接在mapper.xml里用 collection的
<collection property="children" javaType="java.util.List" resultMap="childrenResultMap" />
后面用了mybatis-plus,都是用crud来操作数据库,结果就是遇到这种数据库不存在的字段,就会报错 Unknown column ‘children’ in 'field list’
然后我按照网上说的,使用 @Transient 注解,导入的包也是正确的包,
import javax.persistence.*;
我这个项目是springboot项目,我使用这个注解后还是报错,然后我再添加get、set方法,试了分别在get、set方法上加这个注解,甚至属性、get、set三个都加了这个注解,都没用,去网上找原因,都是复制粘贴,说包错了,我直接疑惑。
最后我在一个说包错了的博客的评论区,找到了一条评论,说用 @TableField(exist = false) 试试,然后加了这个后果然可以了。
总结:
如果加 @Transient 注解无效的话,不妨试试 @TableField(exist = false) ,或者在属性前面加 transient
@TableField(exist = false)
private List<Dept> children;
//或者
private transient List<Dept> children;
更多推荐
已为社区贡献7条内容
所有评论(0)