springboot @Transient无效的问题

我在实体类中要加一个数据库中没有的字段

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;

在Spring Boot中,@Transient注解用于标记实体类中的字段,表示该字段在数据库中不会被持久化保存。这意味着该字段不会映射到数据库表的列上。 此注解通常用于表示实体类中的临时字段或计算字段,不需要持久化到数据库中。在引用中的示例中,@Transient注解被用来标记实体类News中的flag字段,表示该字段不会被映射到名为"sch_info"的数据库表中。同样,在引用中的示例中,@Transient注解被用来标记实体类UserMonitorStationMapping中的shortName字段,表示该字段不会被映射到数据库表中。通过使用@Transient注解,开发人员可以灵活地控制实体类中哪些字段需要持久化到数据库中,哪些字段不需要。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Spring Boot中Spring data注解的使用](https://download.csdn.net/download/weixin_38506713/13687824)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [SpringBoot | Hibernate @Transient 注解](https://blog.csdn.net/weixin_30952535/article/details/99439804)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Springboot JPA 实体类添加@Transient](https://blog.csdn.net/weixin_30678349/article/details/96625602)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

符华-

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值