如何在Grails上创建序列字段而不是主键并且与另一个字段相关?

时间:2016-05-16 20:43:13

标签: grails gorm

我有一个Domain,我需要创建一个Integer作为从1开始的序列。它应该从我拥有的每个新站点开始。 所以我要说这个名为Invoice的类

Invoice{
   Site site
   Integer invoiceNumber
   //Other attributes
}

所以我想做的是: 对于我拥有的每个不同的网站,invoiceNumber将从1开始。

Site{
   String siteName;
}

假设我有3个不同的网站名称网站:“网站1”,“网站2”和“网站3”

如果我有5张“Site 1”发票,则invoiceNumbers应为:1,2,3,4,5。 如果我有“3号站点”的3张发票,则invoiceNumbers应为:1,2,3 等等...

如何使用Grails创建此结构来表示此序列?

1 个答案:

答案 0 :(得分:0)

我没有查看此代码,但想法很简单:

class Invoice {
   Site site
   Integer invoiceNumber

   def beforeInsert() {
      if (!invoiceNumber) { // just in case you will pass this number by yourself for some reason
         def lastInvoice = Invoice.countBySite(site)
         invoiceNumber = lastInvoice + 1
      }
   }
}