2014-01-29 37 views
0

我使用域類找到時,有一個問題:的參數沒有指定值 - Grails的

我得到的錯誤是: ERROR util.JDBCExceptionReporter - No value specified for parameter 2

域名類:

class AppDetail { 

String name 
String url 
Boolean active 

static hasMany = [authString:AppIdentifier] 


static constraints = { 
    name(unique:true,blank:false) 
    active(nullable:true) 
} 

class AppIdentifier { 

Date added 
String authString 

static belongsTo = [authString:AppDetail] 

static constraints = { 

    added() 
    authString(blank:false) 

} 

的找到是:

def identifier = AppIdentifer.findByAuthString('test') 
def appDetails = AppDetail.findByAuthString(identifier) 

任何人都可以親提供任何洞察這個錯誤的含義?

在此先感謝!

回答

0

您有太多名爲「authString」的字段。這裏是另一種方式來重做相同的類:

class AppDetail { 

String name 
String url 
Boolean active 

static hasMany = [identifiers:AppIdentifier] 


static constraints = { 
    name(unique:true,blank:false) 
    active(nullable:true) 
} 

class AppIdentifier { 

Date added 
String authString 

static belongsTo = [appDetail:AppDetail] 

static constraints = { 

    added() 
    authString(blank:false) 

} 

def identifier = AppIdentifer.findByAuthString('test') 
def appDetails = identifier.appDetail 
0

您定義authString既作爲字符串,AppDetail:

String authString 

static belongsTo = [authString:AppDetail] 

請刪除String authString或將其更改爲AppDetail authString

BTW從上看GORM的屬性命名並不重要。但是如果你定義了一個名字爲String的屬性,但是另一個類別的屬性,將來你會遇到維護問題。

相關問題