所以我有我的域名在下面。基本上我想要做的是獲得給定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