关联关系管理专题测试
考察知识点
- HasOne/BelongsTo 一对一关联
- HasMany 一对多关联
- Many2Many 多对多关联
- Preload 预加载与级联操作
在 GORM 中,如何配置一对多关系?
以下关于 GORM 一对多关系外键配置的描述,哪些是正确的?
在 GORM 中查询一对多关系时,默认会自动加载关联的子记录。
在 GORM 中,如何配置多对多关系?
GORM 自动创建的多对多中间表包含哪些字段?
如果需要在多对多关系的中间表中添加额外字段(如创建时间),可以定义________________并使用 gorm:"many2many:中间表名;foreignKey:!!2_外键1;joinForeignKey:连接外键" 配置。
GORM 中 hasOne 和 belongsTo 的主要区别是什么?
以下哪些是 GORM 一对一关系的正确配置方式?
在 GORM 中,如何预加载用户的订单数据?
以下关于 GORM Preload 条件过滤的描述,哪些是正确的?
GORM 的 Joins 方法使用 LEFT JOIN 一次性查询关联数据,比 Preload 更高效。
预加载用户的订单以及订单的商品,可以使用 db.Preload("Orders").Preload("____________").Find(&users) 或 db.Preload("Orders.Items").Find(&______)。
如何为 Preload 自定义查询条件?
以下哪些方法可以处理预加载关联不存在的情况?
使用 Joins 查询用户及其订单,正确的写法是?
以下关于 GORM 预加载 N+1 问题的描述,哪些是正确的?
当预加载一对多关系的数据量很大时,可以使用 Preload 的 Limit 方法限制加载数量。
查询用户及其订单数量,可以使用 db.Preload("Orders").______("users.*, (SELECT count(*) FROM orders WHERE orders.user_id = users.id) as order_count").______(&users)。
User hasOne Profile 关系中,外键默认在哪个表中?
以下关于 belongsTo 的描述哪些是正确的?
📝 发现内容有误?点击此处直接编辑
长按或扫描二维码,立即体验