我是否必须在休眠实体中设置 ID 值

Do I have to set ID value in hibernate entity

我是否必须在休眠状态下在实体 class 中设置 ID 值,当我不设置 ID 值时它显示“列 'ID' 没有默认值”。该列的数据类型是十进制,但是当我在 Oracle 中使用相同的数据库时,我没有得到这样的错误。我在使用 MySQL 时看到了这个错误。能给我个建议吗

一种常见的方法是使用自动增量类型定义 ID。这让数据库将下一个可用 ID 分配给该字段。因此,您不必从代码中设置值(如果服务器上的另一个线程同时尝试创建该实体的实例,则可能会失败)。

生成的 ID 值将在创建后出现在返回的实体实例中。

例如,您可以使用 JPA 注释定义这样的 ID 字段,如下所示:

@javax.persistence.Id @javax.persistence.GeneratedValue
private Long id;

另请参阅:https://www.baeldung.com/hibernate-identifiers