主键生成
SQL Server 常用 IDENTITY 或 sequence 生成主键。IDENTITY 在 INSERT 时由数据库生成,dbVisitor 随后把值写回实体;sequence 可以在 INSERT 前取值,应用先得到主键再完成写入。
说明
通用配置见主键生成与回填。
主键策略
| 策略 | 本数据源的用法 |
|---|---|
| 手工赋值 | 插入前由应用提供主键。 |
| 自增 | 由数据库生成数值主键。 |
| UUID | 字符主键使用 UUID32 或 UUID36。 |
| 序列 | 插入前取得序列值。 |
| 自定义 | 使用自定义生成器,在插入前或后处理主键。 |
使用 IDENTITY
CREATE TABLE user_info (
id BIGINT IDENTITY(1, 1) PRIMARY KEY,
name NVARCHAR(64),
age INT
)
实体主键使用 KeyType.Auto:
@Table("user_info")
public class UserInfo {
@Column(value = "id", primary = true, keyType = KeyType.Auto)
private Long id;
private String name;
private Integer age;
}
- 构造器 API
- 方法注解
- Mapper 文件
插入后,数据库生成的 id 会自动写回当前实体。