![](/img/trans.png)
[英]Hibernate exception 'No value specified for parameter 2' when running grails 1.3.7
[英]Grails 2.2.2 No value specified for parameter 2
這是我的問題。
我有3個域名課程
貢獻者
class Contributor extends User{
static hasMany = [instruments:Instrument]
}
常規項目
class Project {
static hasMany = [instruments: Instrument]
static belongsTo = [contributor: Contributor]
}
儀器儀表
class Instrument {
static belongsTo = [Contributor, Project]
static hasMany = [projects: Project, contributors: Contributor]
}
然后,我有一個具有查找包含儀器列表的所有項目的功能的服務
def getProjectsByInstruments(){
def result = null
def instrument = Instrument.findByName("Accordion");
def instrumentList = new HashSet<Instrument>();
instrumentList.add(instrument)
result = Project.findByInstruments(instrumentList)
return result
}
當我執行該函數時,我收到以下錯誤消息:
2013-12-09 11:45:44,711 [http-bio-8081-exec-7] INFO soundshare.ProjectController - Entering Action /project/by_instrument
2013-12-09 11:45:44,712 [http-bio-8081-exec-7] INFO soundshare.ProjectController - Instrument : ACCORDION
2013-12-09 11:45:44,714 [http-bio-8081-exec-7] DEBUG hibernate.SQL - select this_.id as id17_0_, this_.version as version17_0_, this_.name as name17_0_ from instrument this_ where this_.name=? limit ?
Hibernate: select this_.id as id17_0_, this_.version as version17_0_, this_.name as name17_0_ from instrument this_ where this_.name=? limit ?
2013-12-09 11:45:44,717 [http-bio-8081-exec-7] TRACE sql.BasicBinder - binding parameter [1] as [VARCHAR] - Accordion
2013-12-09 11:45:44,717 [http-bio-8081-exec-7] TRACE sql.BasicExtractor - found [1] as column [id17_0_]
2013-12-09 11:45:44,727 [http-bio-8081-exec-7] TRACE sql.BasicExtractor - found [1] as column [version17_0_]
2013-12-09 11:45:44,727 [http-bio-8081-exec-7] TRACE sql.BasicExtractor - found [Accordion] as column [name17_0_]
2013-12-09 11:45:44,729 [http-bio-8081-exec-7] DEBUG hibernate.SQL - select this_.id as id31_0_, this_.version as version31_0_, this_.contributor_id as contribu3_31_0_, this_.description as descript4_31_0_, this_.musical_style_id as musical5_31_0_, this_.name as name31_0_, this_.open_to_public as open7_31_0_, this_.poster_url as poster8_31_0_ from project this_ where this_.id=? limit ?
Hibernate: select this_.id as id31_0_, this_.version as version31_0_, this_.contributor_id as contribu3_31_0_, this_.description as descript4_31_0_, this_.musical_style_id as musical5_31_0_, this_.name as name31_0_, this_.open_to_public as open7_31_0_, this_.poster_url as poster8_31_0_ from project this_ where this_.id=? limit ?
| Error 2013-12-09 11:45:44,729 [http-bio-8081-exec-7] ERROR util.JDBCExceptionReporter - No value specified for parameter 2
| Error 2013-12-09 11:45:44,742 [http-bio-8081-exec-7] ERROR errors.GrailsExceptionResolver - SQLException occurred when processing request: [POST] /project/by_instrument - parameters:
instrument: accordion
No value specified for parameter 2. Stacktrace follows:
Message: No value specified for parameter 2
謝謝你的幫助
試試這個查詢
Project .withCriteria {
instruments{
eq('name', 'Accordion')
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.