Scala、JPA 和可为 null 的字段

标签 scala jpa

在尝试将 Scala 与 JPA 结合使用时,我将以下代码片段作为实体定义的一部分

 @Column(name = "ACC_INT", nullable = true)
 @BeanProperty var accInt: Double = _

一切都很好,直到我检索一些数据并收到以下异常:

org.springframework.orm.hibernate3.HibernateSystemException: Null value was assigned to a property of primitive type setter of com.jim.fi.sppa.RiskData.accInt; nested exception is org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of com.jim.fi.sppa.RiskData.accInt
    ....
Caused by: org.hibernate.PropertyAccessException: Null value was assigned to a property of primitive type setter of com.jim.fi.sppa.RiskData.accInt
    at ...
Caused by: java.lang.IllegalArgumentException: Can not set double field com.jim.fi..sppa.RiskData.accInt to null value

我想我明白这里发生了什么——Scala 试图将我的 Double 像对待 double 一样,但我不知道如何解决它。

最佳答案

Scala 中的

Double 实际上是 double,原始类型。对于包装类型,请参阅java.lang.Double

关于Scala、JPA 和可为 null 的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3887838/

相关文章:

Scala reduceLeft : 0. asInstanceOf[B]

scala - 为什么 2.10 坚持指定类型参数边界(在 2.9 中工作正常)?

java - 使用 JPA 插入另一个实体

java - Hibernate二级缓存,通过属性关闭

java - JPQL 将 Concat 解析为 NULL

dataframe - 如何创建具有指定模式的空 DataFrame?

scala - 如何将选项元组转换为 Scala 中的选项元组?

java - 使用 map 保存实体

hibernate - 如何覆盖 @SequenceGenerator(name = "idGenerator", sequenceName = "HIBERNATE_SEQUENCE", allocationSize = 50)

scala - 在 Scala 中,如何获取 XML 节点的文本而不获取其子节点的文本?