Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用CGLIB设置属性值时出现异常_Java_Hibernate_Cglib - Fatal编程技术网

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之类的约束,请确保也删除这些约束。