我有这些域类:
class Product {
Manufacture manufacture
Model model
Category category
int price
String productCondition
String productDescription
}
class Manufacture {
String manufactureName
static hasMany = [products:Product, models:Model]
}
class Model {
Manufacture manufacture
String modelName
static hasMany = [products:Product]
}
class Category {
String categoryName
static hasMany = [products:Product];
}
我想知道我是否需要一个Manufacture类,Model类和Category类,或者我是否可以使用String制造等等。拥有这些额外的域类是否有任何优势,而不仅仅是使用String制造等等。它来搜索?假设我想要所有由福特生产的产品,或者所有类别汽车的产品。我很困惑什么时候我应该创建一个域类vs只使用一个字段。
由于
答案 0 :(得分:0)
在一个解决方案或另一个解决方案之间进行选择取决于您计划如何查询应用程序并使其适应未来的更改。
您只能使用Product
域类,并在manufacture
,model
和category
字符串字段上使用相应的数据库索引,查询速度会很快。但是使用这种方法,您无法轻易地将您的域添加到制造,模型和类别中。
我总是喜欢域类解决方案,因为我不知道应用程序将如何发展。
中间解决方案可以使用embedded域类。