您好我是Grails的新手,我想就以下场景中如何在Grails中定义域类寻求您的专家建议:
以下是它们之间的关系:
一位买家可以拥有多件商品
一位买家可以有很多送货
一次送货可以有很多商品
我已经定义了域类;但结果。专家能否指出我做错了什么?非常感谢你!
class Buyer {
static constraints = {
}
String buyerName
static hasMany = [purchases : GoodsPurchased]
}
class GoodsPurchased {
static constraints = {
delivery nullable:true
}
String goodsName
static belongsTo = [ buyer: Buyer, delivery : Delivery ]
}
class Delivery {
static constraints = {
}
Date deliveryDate
static belongsTo = [ buyer : Buyer ]
static hasMany = [ purchases : GoodsPurchased ]
}
交货可以有买家购买的一件或多件商品;因为并非所有物品都是交货所必需的。我们如何在域类中定义 - 交付只能包含买方之前购买过的商品?我们如何在Grails中进行限制?
答案 0 :(得分:0)
如果要在Domain Class中实现此目的,可以在beforeInsert()和beforeUpdate()中检查这些业务规则,这些规则在域类中插入或更新对象之前被触发。
您可以在此处获取有关此内容的更多信息:http://gorm.grails.org/6.0.x/hibernate/manual/
但是,实现这些业务逻辑的最佳位置仍在服务中,或限制GSP中的列表供用户选择。
希望这会有所帮助。