使用Hibernate保存对象时获取DataViolationIntegrityException

时间:2014-01-29 07:40:11

标签: java mysql hibernate annotations nullable

我使用Hibernate作为ORM映射,使用MySQL作为后端服务器。

public class Child{


  @NonNegative
  @Column(name = "height", nullable = false)
  private Double height;

  setter//

  public Double getHeight(){

     return (height!=null)?height:0.0;

  } 

} 

因此,当我进行保存调用时,我得到DataViolationIntegrityException。我从Client发送空高度,但getter方法将其转换为0.0;那我为什么得到那个例外。

  session.save(child);

先谢谢。

1 个答案:

答案 0 :(得分:0)

如果我们在对Entity执行CRUD操作时违反Entity或Domain类的任何事物/约束,则会出现

DataViolationIntegrityException

在上面的例子中,nullable = false,我试图保存null,因此要么转换0.0而不是null,要么将返回类型更改为double而不是Double。