# 04 Germplasm / Seed - germplasm_synonym 表录入说明

来源：`docs/architecture/04-germplasm-seed-data-flow.md`

## 录入目标

`germplasm_synonym` 记录 germplasm 的别名、旧名、商品名或本地名，用于检索和展示。

## 上下游关系

| 类型 | 内容 |
| --- | --- |
| 表 | `germplasm_synonym` |
| Java 实体 | `GermplasmSynonymEntity` |
| 前置依赖 | `germplasm` |
| 下游引用 | Germplasm 搜索、详情展示 |

## 字段录入

| 字段 | 业务意义 | 录入方式 | 校验规则 |
| --- | --- | --- | --- |
| `id` | synonym 记录主键 | 系统生成 | 必填、唯一 |
| `germplasm_id` | 所属 germplasm | Germplasm 选择器/详情页带出 | 必选，必须存在 |
| `synonym` | 别名 | 用户录入 | 必填 |
| `type` | 别名类型 | 下拉/文本 | 可选，如 local、commercial、old name |

## 页面与交互

- 在 Germplasm 详情页 Synonym Tab 内维护。
- Germplasm 列表搜索应支持 synonym 命中。

## 关键校验

1. `germplasm_id` 必须存在。
2. 同一 germplasm 下同一个 synonym 不应重复。
3. 删除 synonym 不应删除 germplasm 主数据。

**状态：已完成**（页面：`germplasm/germplasm/[germplasmDbId]` → Synonym Tab；BrAPI `PUT /germplasm/{id}` synonyms 整表替换）
