我正在使用一个大型的旧数据库,现在我尝试使用hibernate而不是SQL来访问它.
其中一个较大的问题是在没有约束的情况下在foreignKeys中使用“0”和“-1”(意思是“NULL”).
我生成了很多代码,但我手动添加了连接.像这样
@OneToMany(fetch = FetchType.EAGER)
@JoinColumn(nullable = true, name = "fkActivityId")
public List<Activity> getActivities() {
return activities;
}
问题是,只要我有一个fkActivityId =“ – 1”或“0”意味着NULL的对象,就会有一个异常抱怨无法找到这样的对象.
有没有办法让Hibernate表现得好像是NULL?
最佳答案 如果值为-1或0,则浏览数据库并将每个fkActivityId更新为null.这就是null的用途. Hibernate正确地完成了它的工作;它是未正确设置的数据库.