“在使用字符串id调用save()之前,必须手动分配此类的ID

时间:2015-12-16 16:44:56

标签: java hibernate in-memory-database

当我在内存测试中编写hibernate时,我遇到了异常。

  

org.hibernate.id.IdentifierGenerationException:在调用save()之前必须手动分配此类的ID:

@Entity
public Account{
     @Id
     String num;
}

首先,这个pojo的id是String,我无法改变它,我无法访问DB并更改pojo,我只能创建内存中的测试。

然后,在我保存这个pojo之前,我填充了这个pojo中的每个字段,仍然会抛出此异常。并且由于内存中的测试,内存DB是空的,那里没有冲突ID。

任何想法,还有什么可以导致这种异常?

1 个答案:

答案 0 :(得分:6)

您需要在变量之上添加@GeneratedValue。如果你不这样做,你需要给id一个值。在内存测试中是否重要。