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 属性为 falsejava