grails复合ID不起作用

时间:2011-07-14 10:50:17

标签: grails gorm

我有以下域类:

class AccountSupplier implements Serializable {

    static mapping = {
       table 'MY_TABLE'
       version false

       accountReference /*indexColumn: 'ACNTID', */ column:'REFACNTID'
       supplierReference /* indexColumn:'SUPID' ,*/ column:'REFSUPID'

       id composite:['accountReference', 'supplierReference']
    }

   Account accountReference
   Supplier supplierReference
}

除ID处理外,一切正常。当我尝试获取AccountSupplier对象的ID时,我什么也得不到。结果是我无法删除或编辑某些内容。只有列表可以工作(没有ID)

我如何处理获取,删除...的ID

感谢。

1 个答案:

答案 0 :(得分:1)

没有实际身份证明。这不是复合ID的工作原理。您需要在类上提供一个方法以允许删除(以及其他内容)

static boolean remove(Account accountReference, Supplier supplierReference, boolean flush = false) {
  AccountSupplier instance = AccountSupplier.findByAccountAndSupplier(accountReference, supplierReference)
  instance ? instance.delete(flush: flush) : false
}