当我在内存测试中编写hibernate时,我遇到了异常。
org.hibernate.id.IdentifierGenerationException:在调用save()之前必须手动分配此类的ID:
@Entity
public Account{
@Id
String num;
}
首先,这个pojo的id是String,我无法改变它,我无法访问DB并更改pojo,我只能创建内存中的测试。
然后,在我保存这个pojo之前,我填充了这个pojo中的每个字段,仍然会抛出此异常。并且由于内存中的测试,内存DB是空的,那里没有冲突ID。
任何想法,还有什么可以导致这种异常?
答案 0 :(得分:6)
您需要在变量之上添加@GeneratedValue
。如果你不这样做,你需要给id一个值。在内存测试中是否重要。