【发布时间】:2021-01-15 12:00:02
【问题描述】:
我正在尝试为我的实体自动生成 ID:
public class User {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
}
我的DB表是通过flyway脚本创建的,列ID设置为IDENTITY
CREATE TABLE USERS (
ID INT NOT NULL GENERATED BY DEFAULT AS IDENTITY,
PRIMARY KEY (ID)
};
然后我试图用我的存储库保存这个实体:
@Repository
public interface UserRepository extends JpaRepository<User, Long> {}
像这样:
userRepository.save(user);
然而这会导致错误
“id”列中的空值违反非空约束
这仅在连接到 PostgreSQL:12.2 时显示,如果我使用 h2 数据库运行相同的代码,它可以正常工作。
为什么这在 PostgreSQL 中失败了?
【问题讨论】:
-
适用于我的 Hibernate 5.4
标签: java spring postgresql hibernate h2