2016-06-27 52 views
0

當我嘗試執行具有多個表的查詢時,我在grails應用程序中得到強制異常 UserLogin userList = UserLogin.find(「UserLogin as ul,UserDetails as ud where ul.id = ud.id」 )無法使用類[[Ljava.lang.Object;]類強制轉換對象'[Ljava.lang.Object; @ 589d360c''在Grails中的異常

UserLogin.groovy

class UserLogin { 

    String id 
    String userName 
    String pwd 
    static constraints = { 

    } 

    static mapping = { 
     table '[UserLogin]' 
     version false 
     id column : 'Id', generator: "assigned" 
     userName column: 'UserName' 
     pwd column:'Password' 
    } 
} 

UserDetails.groovy

class UserDetails { 

    int id 
    String name 
    String age 

    static mapping={ 
     table '[UserDetails]' 
     version false 
     id column : 'Id', generator: "assigned" 
     name column:'Name' 
     age column:'Age' 
    } 
    static constraints = { 
    } 
} 

完整棧跟蹤

URI:/ LearnGrails/USERLOGIN /顯示/ 2Class:org.codehaus.groovy.runtime.typehandling.GroovyCastExceptionMessage:不能 鑄造對象「[Ljava.lang.Object; @ 589d360c'與類 '[Ljava.lang.Object;'上課 'learngrails.UserLogin' 由於: groovy.lang.GroovyRuntimeException:找不到匹配 構造:learngrails.UserLogin(learngrails.UserLogin, learngrails.UserDetails)

環境 - Grails的2.5。 0和Jdk1.7

當我使用「查找」我得到這個錯誤及其工作罰款「的findAll」。我是新來grails請幫助 - 謝謝

回答

0

你不能使用查找您的交叉連接。如果您想得到單一結果,請使用findAll加額外參數:

def userList= UserLogin.findAll("from UserLogin as ul, UserDetails as ud where ul.id=ud.id", [max:1]) 
相關問題