我有一个带有少数字段的对象,其中有些字段不可为空。对于非空数字类型,我使用long
。例如,
@Entity
@Table(name="my_table")
public class MyClass {
@Column(name="reference_id", nullable=false)
private long referenceId;
}
此对象的getter和setter都仅接受long
,而不接受Long
。但是,大约1%的时间,当尝试将referenceId
字段设置为某个非零值的对象持久化时,Hibernate将从MySQL返回错误消息:
Column 'reference_id' cannot be null
当字段类型为long
或设置了值时,我无法理解这种情况。此外,再次尝试创建完全相同的对象将成功。
我在这里做错了什么?我需要更改一些休眠设置或MySQL设置吗?
答案 0 :(得分:0)
经过反复的反复,我能够确定MySQL实例实际上存在与负载相关的错误。切换数据库硬件似乎可以缓解问题。