所以我有我的域名在下面。基本上我想要做的是获得给定WorkOrderSummary的所有需求数量。数据结构已存在于视图中,因此我只需要确定如何映射WorkOrder-to-demandNumbers(一对多)关系。所以一个lab_order_header_id可以包含许多demand_header_id。Gorm映射/一对多关系的自我引用
class WorkOrderSummary {
String workOrderNumber
Long demandNumbers
String demandTypeName
String statusName
Date needByDate
String customerName
Long facilityId
Long labDestinationId
Long assetTagQuantity
static hasMany = [demandNumbers: WorkOrderSummary]
static mapping = {
version false
table name: 'work_orders_v', schema: 'lab'
id column: 'lab_order_header_id'
demandNumbers column: 'demand_header_id'
demandTypeName column: 'demand_type'
statusName column: 'status'
}
}
现在,这只是让我在lab_order_header_id和demand_header_ids之间是一对一的关系。
有什么建议吗?
编辑 - 2016年9月26日
创造了demandNumbers另一个域类和谱写了属于关联:
class SalesOrderSummary {
String demandTypeName
static belongsTo = [workOrder: WorkOrderSummary]
static constraints = {
}
static mapping = {
version false
table name: 'work_orders_v', schema: 'lab'
id column: 'demand_header_id'
workOrder column: 'lab_order_header_id'
demandTypeName column: 'demand_type'
}
}
它看起来像'demandNumbers'既是'Long'类型又是'Set'类型(来自'hasMany')。 –
tylerwal
可以用'hasMany'和'belongsTo'的组合来实现这个功能,而不需要连接表/域的类,但我认为这可能是你最好的选择 - 我之前使用过这种方法(连接表)链接自引用对象。如果使用连接表,只要记住在WorkOrderSummary类中有'static mappedBy = [...]'。 – tylerwal
@tylerwal请看我刚才的编辑。尽管它从相同的视图中进行选择,但我最终创建了第二个域类。所以它基本上只是加入自己吧? – Andrew