我有以下域类:
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以获取,删除...
谢谢。
最佳答案
没有实际的ID。这并不是复合ID的工作原理。您需要在您的类上提供一个方法以允许删除(以及其他操作)
static boolean remove(Account accountReference, Supplier supplierReference, boolean flush = false) {
AccountSupplier instance = AccountSupplier.findByAccountAndSupplier(accountReference, supplierReference)
instance ? instance.delete(flush: flush) : false
}
关于grails - grails复合ID无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6692026/