grails - grails复合ID无效

我有以下域类:

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
}

https://stackoverflow.com/questions/6692026/

相关文章:

grails - 如果URL不包含额外路径,如何显示身份验证页面?

json - Grails模型和子模型的JSON响应(一对多)

grails - 部署捆绑软件并从Spring EBR获得依赖捆绑软件

grails - Grails安全过滤器和/index.gsp

hibernate - Grails中的事务提交事件处理程序

grails - Grails:withFormat在 Action 方法中间

list - 如何在Grails中过滤列表以仅显示特定用户的 'belongsTo'?

grails - 与Grails的零对多关系?

regex - 常规正则表达式测试失败

javascript - 使用Node.js从客户端向服务器发送json请求