具有字符串 ID 的"ids for this class must be manually assigned before calling save()"



在编写hibernate内存测试时出现异常。

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

@Entity
public Account{
     @Id
     String num;
}

首先,pojo的这个id是String,我不能更改它,我不能访问DB和更改pojo,我所能做的就是创建内存测试。

然后,在我保存这个pojo之前,我填充了这个pojo中的每个字段,但它仍然抛出了这个异常。由于内存测试,内存中的DB是空的,没有冲突id。

知道吗,还有什么原因会导致这种异常?

您需要在变量顶部添加@GeneratedValue。如果没有,则需要给id一个值。不管是不是记忆测试。

最新更新