2013-12-14 1 views
0

У меня есть два класса доменакак добавить объект в hasMany элемент

class Company{ 
String name 
.... 
static hasMany[product:product] 
} 

class Product{ 
String Pname 
String Qty 

} 

я Тринг, чтобы добавить продукт как этот

Company comp= Company.get(1) 
Product pdct = Product.findByPname("procut1");///procunt name is unique 
comp.product.add(pdct) 
comp.save(flush:true) 

выше заявление успешно выполняется , но когда я пытаюсь найти comp.product я получил пустой список, как []

Я также пробую addTo, но это дает исключение , а что, что не хватает?

ответ

2

При добавлении и удалении членов вашей коллекции вы должны использовать методы GORM для addTo и removeFrom.

comp.product.add(pdct) 

должно быть:

comp.addToProduct(pdct) 
+0

я использовал это, но это не работает – user3068680

+0

Я подозреваю причину f или это потому, что вам также не хватает свойства ownTo на Product. Если вы посмотрите на документацию, вы увидите, что ваше сопоставление является неполным. –

1

Изменить это как static hasMany[products:Product]

Company comp= Company.get(1) 
Product pdct = Product.findByPname("procut1");///procunt name is unique 
comp.addToProducts(pdct) 
comp.save(flush:true) 

Также добавьте static belongsTo = [company:Company] в вашем Product классе применять Cascade операции

Смежные вопросы