今天这个错误困扰了我一整天。。。我明明写的就是对的,老是报这个错误。最后我才发现,是因为我表中的version字段为null导致的,我的配置文件如下
<hibernate-mapping>
<class name="com.crpay.admin.po.AcCrpayMerchantInfo" table="AC_CRPAY_MERCHANT_INFO" schema="PAY">
<id name="userId" type="java.lang.String">
<column name="USER_ID" length="32" />
</id>
<version column="LAST_UPDATE_TIME" name="lastUpdateTime" type="timestamp"/>
<property name="businessName" type="java.lang.String">
<column name="BUSINESS_NAME" length="100" />
</property>
.............后边太多我就不写了
由于我的version,也就是LAST_UPDATE_TIME为空,导致更新失败,在生产上正常使用的时候,这个字段不可能是空的,而我当时测试图方便就直接在库了增加的字段。。。
以后一定要多加小心