составной ID Grails не работает - PullRequest
1 голос
/ 14 июля 2011

У меня есть следующий класс домена:

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
}

с этим все отлично работает, кроме обработки идентификатора.Когда я пытаюсь получить идентификатор объекта AccountSupplier, я ничего не получаю.В результате я не могу что-то удалить или отредактировать.Работает только листинг (без идентификатора)

как мне обработать идентификатор для получения, удаления ...

спасибо.

1 Ответ

1 голос
/ 14 июля 2011

Нет действительного идентификатора. Это не совсем то, как работает составной идентификатор. Вам нужно будет предоставить метод для вашего класса, чтобы разрешить удаление (а также другие вещи)

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