将null值传递给manytone关系column会在JPA中引发错误

将null值传递给manytone关系column会在JPA中引发错误,jpa,db2,websphere-liberty,Jpa,Db2,Websphere Liberty,我有以下实体 @Entity @Table(name = "Student") public class ClassA { @ManyToOne(optional = true) @JoinColumn(name = "subject_idkey", nullable = true) protected Subject subject; } 当我试图将这个实体持久化到数据库中,并且subject设置为NULL时,我得到了以下错误 无法识别的JDBC类型:2001。ERRORC

我有以下实体

@Entity
@Table(name = "Student")
public class ClassA {
 @ManyToOne(optional = true)
    @JoinColumn(name = "subject_idkey", nullable = true)
    protected Subject subject;
}
当我试图将这个实体持久化到数据库中,并且subject设置为NULL时,我得到了以下错误

无法识别的JDBC类型:2001。ERRORCODE=-4228,SQLSTATE=null

仅当使用在应用程序服务器中运行的代码持久化此实体时,才会发生这种情况

编写Junit测试用例来测试相同的函数可以很好地工作

以下是将学生详细信息更新到数据库的代码

ClassA学生=新ClassA(); student.setSubject(空)


你知道如何解决这个问题吗?

向我们展示持久化实体的代码和用于插入的SQL请同时提供异常堆栈;在你的应用程序代码中,它失败了。上面的文章已经用代码更新了以保存实体
        entityManager.getTransaction().begin();
        entityManager.persist(student);
        entityManager.getTransaction().commit();