HHH000122: IllegalArgumentException in class....getter method of property: id

HHH000122: IllegalArgumentException in class….getter method of property: id

我的项目是微服务架构,用的是spring boot2 ,这几天碰到一个特别奇怪的问题。
我有一个角色表Group,角色拥有的权限Rights

//角色表
public class Group(){
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name="group_id")
    private Integer group_id;

    @OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
    @JoinColumn(name="group_id",referencedColumnName="group_id")
    private Set<Rights> rights = new HashSet<Rights>();

    //getter setter省略
}
//角色——权限表
public class Rights(){
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name="rights_id")
    private Integer rights_id;

    @Column(name="group_id")
    private Integer group_id;

    //getter setter省略
}

调用服务去查找角色及其权限,没有任何问题。
但保存角色时,如果角色有权限,即group.rights不为空时,保存总是报错。

HHH000122: IllegalArgumentException in class: com.crp.qa.qaAuthorization.domain.pojo.QaSysGroupRights, getter method of property: rightsId
Request processing failed; nested exception is org.springframework.orm.jpa.JpaSystemException: IllegalArgumentException occurred calling getter of com.crp.qa.qaAuthorization.domain.pojo.QaSysGroupRights.rightsId; nested exception is org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling getter of com.crp.qa.qaAuthorization.domain.pojo.QaSysGroupRights.rightsId

百度了半天,发现可能与hibernate版本有关,最后发现有个相似的问题:
Class loading error with Spring Boot and Hibernate 5
这个老外说,当hibernate5与devtools一起用的时候,就报错
而devtools是spring boot做热加载的。
于是,我把pom.xml里的devtools注释掉,重启服务,发现就正常了。
估计还有别的方法可以解决,比如降低hibernate的版本到4.3.5以下,但是我简单试了下没效果,可能是我做的不对。
这个问题困扰了我好几天,记录下来以防忘记。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值