将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();