I design domains classes as follow:
class Invoice {
static hasMany = [invoiceOneLines: InvoiceLine, invoiceTwoLines: InvoiceLine]
}
class InvoiceLine {
static belongsTo = [invoice: Invoice]
}
The invoice line has 2 types: invoiceOneLines
and invoiceTwoLines
.
Then I create new invoice line
: I did as follow:
def invoice = new Invoice().save(flush:true)
invoice.invoiceOneLines.add(new InvoiceLine().save(flush:true))
invoice.invoiceTwoLines.add(new InvoiceLine().save(flush:true))
I created 2 invoice lines as invoiceOneLines
and 3 invoice lines as invoiceTwoLines
. However, when I displayed it in view:
invoice.invoiceOneLines.each{}
invoice.invoiceTwoLines.each{}
It showed invoiceOneLines
was corrected but in invoiceTwoLines
, it showed all(both invoiceOneLines and invoiceTwoLines
).
I'm not sure do I design correct relationship. I think it should a temporary table(like many to many relationship).