“具有此类的id,在调用save()之前必须手动分配该类的id”

Nei*_*eil 2 java hibernate in-memory-database

在内存测试中编写休眠模式时出现异常。

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

@Entity
public Account{
     @Id
     String num;
}
Run Code Online (Sandbox Code Playgroud)

首先,此pojo的id是String,我无法更改它,我无权访问数据库并更改pojo,我所能做的就是创建内存中测试。

然后,在保存此pojo之前,我填充了该pojo中的每个字段,但仍然会引发此异常。并且由于进行了内存中测试,因此内存中的DB为空,因此那里没有冲突ID。

任何想法,还有什么会导致此异常?

OPK*_*OPK 6

您需要@GeneratedValue在变量之上添加。如果不这样做,则需要为id赋一个值。内存测试与否无关紧要。

  • @Walter 如果答案解决了您的问题,您应该首先接受答案。我注意到你问了很多问题,但还没有接受任何一个答案。接受答案将鼓励用户回答您的问题。 (4认同)