将空值传递给ManyToOne关系列会在JPA中引发错误

时间:2018-06-06 13:55:08

标签: jpa db2 websphere-liberty

我有以下实体

@Entity
@Table(name = "Student")
public class ClassA {
 @ManyToOne(optional = true)
    @JoinColumn(name = "subject_idkey", nullable = true)
    protected Subject subject;
}

当我尝试将此实体持久化到主题被设置为NULL的数据库时,我收到以下错误。

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

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

用于测试相同功能的Junit测试用例工作正常。

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

ClassA student = new ClassA(); student.setSubject(NULL);

        entityManager.getTransaction().begin();
        entityManager.persist(student);
        entityManager.getTransaction().commit();

有关如何解决此问题的任何想法?

0 个答案:

没有答案