因此,@GenerateValue 描述了生成主键的策略。但是,它如何与已经在 sql 查询本身中设置此设置的数据库模式结合在一起呢?喜欢主键自动增量吗? 如果选择的策略与现有模式中的策略冲突怎么办? 如果我们已经设置了数据库,我们可以省略这个注释吗?
对于您所描述的情况,这些是正确的注释:
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
GenerationType.IDENTITY
表示持久性提供程序必须使用数据库标识列为实体分配主键。
您不能省略注释,它必须与数据库架构保持一致。