如何使用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
相关产品推荐
相关产品推荐

