Search code examples
springgrailsgrails-orm

Grails domain error


This Is the first time i'm using Grails, i defined the followings Domain class

   package ing2015

class Product {
    String name, description, location
    Category category
    Subcategory subcategory
    static belongsTo = [Category, Subcategory]
    Date date
    static constraints = {
        name(blank:false)
        date (blank:false)
        description(blank:false)
        location(blank:false)

    }
}

package ing2015

class Category {
    String name
    static hasmany=[product: Product, subcategory: Subcategory]
    static constraints = {
        name(blank:false)
    }
}
package ing2015

class Subcategory {
    String name
    Category category
    static belongsTo = Category
    static HasMany = [product : Product]
    static constraints = {
    }
}

but when i tried to run-app,or generate any controller for those domains, it shows me this error

| Error Error loading plugin manager: No property found for name [product] for class [class ing2015.Subcategory] (Use --stacktrace to see the full trace)
Error |

i can't find the issue, previously to this, the console showed me something like that it couldn't create the table "product" and also "category"

Edit

i just solve the issue changing "HasMany" to "hasMany" simply. but now i don't know why the console shows me this

objc[1024]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home/jre/lib/libinstrument.dylib. One of the two will be used. Which one is undefined.
| Error 2015-10-11 01:47:41,066 [localhost-startStop-1] ERROR hbm2ddl.SchemaExport  - HHH000389: Unsuccessful: alter table image drop constraint FK_mm4cmvteo84wq24upfvucdy08 if exists
| Error 2015-10-11 01:47:41,069 [localhost-startStop-1] ERROR hbm2ddl.SchemaExport  - Tabla "IMAGE" no encontrada
Table "IMAGE" not found; SQL statement:
alter table image drop constraint FK_mm4cmvteo84wq24upfvucdy08 if exists [42102-176]
| Error 2015-10-11 01:47:41,069 [localhost-startStop-1] ERROR hbm2ddl.SchemaExport  - HHH000389: Unsuccessful: alter table product drop constraint FK_rlaghtegr0yx2c1q1s6nkqjlh if exists
| Error 2015-10-11 01:47:41,070 [localhost-startStop-1] ERROR hbm2ddl.SchemaExport  - Tabla "PRODUCT" no encontrada
Table "PRODUCT" not found; SQL statement:
alter table product drop constraint FK_rlaghtegr0yx2c1q1s6nkqjlh if exists [42102-176]
| Error 2015-10-11 01:47:41,070 [localhost-startStop-1] ERROR hbm2ddl.SchemaExport  - HHH000389: Unsuccessful: alter table product drop constraint FK_lmq2wxehhih47uva0peyk8v8g if exists
| Error 2015-10-11 01:47:41,071 [localhost-startStop-1] ERROR hbm2ddl.SchemaExport  - Tabla "PRODUCT" no encontrada
Table "PRODUCT" not found; SQL statement:
alter table product drop constraint FK_lmq2wxehhih47uva0peyk8v8g if exists [42102-176]
| Error 2015-10-11 01:47:41,071 [localhost-startStop-1] ERROR hbm2ddl.SchemaExport  - HHH000389: Unsuccessful: alter table subcategory drop constraint FK_dglte9qeu8l5fhggto4loyegg if exists
| Error 2015-10-11 01:47:41,071 [localhost-startStop-1] ERROR hbm2ddl.SchemaExport  - Tabla "SUBCATEGORY" no encontrada
Table "SUBCATEGORY" not found; SQL statement:
alter table subcategory drop constraint FK_dglte9qeu8l5fhggto4loyegg if exists [42102-176

Solution

  • I don't sure that

     static HasMany
    

    is read correctly by grails *(hasMany must be), by the way here is code that works for me :

    class Category {
        String name
        static hasMany= [product: Product, subcategories: Subcategory]
        static constraints = {
            name(blank:false)
        }
    }
    
    
    class Subcategory {
        String name
        Category category
        static belongsTo = [category : Category]
        static hasMany = [product : Product]
        static constraints = {
        }
    }