You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JDL实现单表多外键关联另一表同一列?

使用JDL实现指定数据库表结构

要实现你给出的两张表及外键关联,JDL代码可以这样写:

// 定义Period_Type实体,对应原表结构
entity Period_Type {
  id Long,
  periodTypeName String
}

// 定义Product_Subscription实体
entity Product_Subscription {
  // 无需手动定义外键字段,通过关联关系自动生成
}

// 建立续费周期的多对一关联,对应RENEWAL_PERIOD_TYPE_ID外键
relationship ManyToOne {
  Product_Subscription{renewalPeriodTypeId} to Period_Type{id} as renewalPeriodType
}

// 建立订阅周期的多对一关联,对应SUBSCRIPTION_PERIOD_TYPE_ID外键
relationship ManyToOne {
  Product_Subscription{subscriptionPeriodTypeId} to Period_Type{id} as subscriptionPeriodType
}

说明:

  • Period_Type实体直接对应原表的ID和Period_Type_Name字段(JDL中用小驼峰命名,生成数据库表时会自动转为大写下划线格式,比如periodTypeName对应PERIOD_TYPE_NAME)。
  • 通过两个ManyToOne关联,明确指定外键列名renewalPeriodTypeId和subscriptionPeriodTypeId,生成数据库时会自动转为RENEWAL_PERIOD_TYPE_ID和SUBSCRIPTION_PERIOD_TYPE_ID,同时建立到Period_Type表ID字段的外键约束,完全匹配你给出的规则。

内容的提问来源于stack exchange,提问作者Utkarsh Srivastava

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 11:30:57