当我尝试执行具有多个表的查询时,grails应用程序中出现强制转换异常
UserLogin userList = UserLogin.find(“来自UserLogin为ul,UserDetails为ud,其中ul.id = ud.id”)
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/show/2Class:org.codehaus.groovy.runtime.typehandling.GroovyCastExceptionMessage:Cannot cast object '[Ljava.lang.Object;@589d360c' with class '[Ljava.lang.Object;' to class 'learngrails.UserLogin' due to: groovy.lang.GroovyRuntimeException: Could not find matching constructor for: learngrails.UserLogin(learngrails.UserLogin, learngrails.UserDetails)
环境-Grails 2.5.0和Jdk1.7
当我使用“find”及其与“findAll” 正常工作时,出现此错误。我是新来的grails,请帮忙-谢谢
最佳答案
您不能将find用于交叉连接。如果要获得单个结果,请使用带有额外参数的findAll:
def userList= UserLogin.findAll("from UserLogin as ul, UserDetails as ud where ul.id=ud.id", [max:1])
关于grails - 无法在Grails中使用类 '[Ljava.lang.Object;@589d360c'异常强制转换对象 '[Ljava.lang.Object;',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38051990/