Spring的BeanUtils导致的异常

本文探讨使用Spring BeanUtils复制Bean时遇到的主键复制问题,并分享了解决方案及替代方法。文章还提到了使用Apache Commons BeanUtils时的一些注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一直以来用Apache的COMMON包的BeanUtils类进行Bean的拷贝,比如

BeanUtils.copyProperties(dest, orgi);

今天尝试用Spring自带的BeanUtils拷贝Bean,就遇到下面的错误:
identifier of an instance of com.test.cmp.entity.XXX was altered from 1 to null

觉得是主键方面的问题,于是检查了主键,没问题。主键类型POJO和数据库也算比较对应。
后来找出问题可能在Spring的BeanUtils那个类上面,于是改成简单的Setter,getter试了下,没出现错误了。最后还是换成了Apache Commons包的BeanUtils

另外用Apache Common的BeanUtils拷贝,不能拷贝类型为
java.util.Date
类型的属性,得转换成
java.sql.Date

所以一般日期类型最好还是用Timestamp好点
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值