Java 使用CGLIB设置属性值时出现异常
附加新备份的数据库后,我遇到一个异常:Java 使用CGLIB设置属性值时出现异常,java,hibernate,cglib,Java,Hibernate,Cglib,附加新备份的数据库后,我遇到一个异常: Caused by: org.hibernate.PropertyAccessException: exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info) setter of com.mytest.User.setPrimaryAccount 在我的用户类中,我有以下字段: ...
Caused by: org.hibernate.PropertyAccessException: exception setting property value with CGLIB (set hibernate.cglib.use_reflection_optimizer=false for more info) setter of com.mytest.User.setPrimaryAccount
在我的用户类中,我有以下字段:
...
private boolean isPrimaryAccount;
public boolean getPrimaryAccount() {
return isPrimaryAccount;
}
public void setPrimaryAccount(boolean primaryAccount) {
isPrimaryAccount = primaryAccount;
}
...
异常引用到这里,从什么开始给出异常
附加新备份的数据库后
我认为,您的数据库表中有一个可为null的列,并且在持久类中使用primitve类型的boolean(不能设置为null)。我想这就是为什么你会得到这个例外
Hibernate建议您:
我们建议您声明一致命名的标识符属性
在持久类上,并且您使用可为null的。,
非原语)类型
将布尔值更改为布尔值,这可能会有帮助…我实际上也遇到了同样的问题,解决方案是,正如Jamshid Asatillayev所说,将布尔值更改为布尔值(因此它将接受null)。此外,如果您有诸如nullable=false之类的约束,请确保也删除这些约束。