2015-10-13 16 views
0

我是groovy grails的新開發者,我在數據庫測試下有一個名爲user的表。我成功通過使用grails登錄到該數據庫,但我無法成功註冊新用戶。我用GORM導入數據庫,但有一個奇怪的錯誤,我找不到任何可能的解決方案來解決這個問題。groovy.lang.MissingMethodException - 保存GORM

ERROR I GET

域類

package com.example.ulu 

import grails.persistence.Entity; 

@Entity 
class User { 

    String userName 
    String password 
    String fullName 


    static constraints = { 

    } 
} 

控制器

def registeruser = { 

    User a = new User() 
    a.fullName("John") 
    a.userName("burak") 
    a.password("1") 
    a.save() 


} 

插件的和依賴

dependencies { 

     runtime 'mysql:mysql-connector-java:5.1.29' 

     test "org.grails:grails-datastore-test-support:1.0.2-grails-2.4" 
     compile "javax.validation:validation-api:1.1.0.Final" 
     compile "org.grails:grails-spring:2.4.5" 
     compile "org.codehaus.groovy:groovy-all:2.4.5" 
     runtime "org.hibernate:hibernate-validator:5.0.3.Final" 

    } 

    plugins { 

     build ":tomcat:8.0.22" 


     compile ":scaffolding:2.1.2" 
     compile ':cache:1.1.8' 
     compile ":asset-pipeline:2.1.5" 
     runtime ":resources:1.2.14" 


     runtime ":hibernate4:4.3.8.1" 
     runtime ":database-migration:1.4.0" 
     runtime ":jquery:1.11.1" 
    } 
+0

好奇的是,該導引誤導你以這樣的方式。你只是補充了一點,或者你是否找到了如何上網的地方 – Vahid

回答

0
a.fullName("John") 
a.userName("burak") 
a.password("1") 

這是錯誤的。 Groovy使用JavaBean的符號,和財產分配必須是這樣的:

a.fullName = "John" 
a.userName = "burak" 
a.password ="1" 

a.setFullName "John" 
a.setUserName "burak" 
a.setPassword "1" 

a[ 'fullName' ] = "John" 
a[ 'userName' ] = "burak" 
a[ 'password' ] ="1" 
0

它告訴你,在名稱爲「fullName」的對象上沒有一個方法需要String參數。你可以寫爲

a.fullName = "John" 

a.setFullName("John") 

其中任何一個調用相同的setter方法。 Groovy爲你的類自動生成getter和setter方法,並允許你使用任何一種語法。但是

a.fullName("John") 

無效。

相關問題