mycat更新时字段无法更新异常的解决方案

场景描述

  • 开发环境:spring boot1.5.3.RELEASE +JPA
  • 数据库环境:mycat 1.6+mysql5.6
  • 报错信息:对分片表进行更新操作,提示XX字段无法更新

报错原因

mycat中分片表中的分片字段是不能更新的,而Jpa(底层hibernate)默认是更新全字段。所以会产生冲突,报错。

解决方案

  • 对实体进行注解
@Column(updatable=false)  
    public int getAge() {  
        return age;  
    }  
  • 修改实体映射文件
<property name="age" update="false">property>

主要是把实体不需要更新字段,设置 update 属性为 false

你可能感兴趣的:(SpringCloud,springboot,mycat)