나는이 domain
와 라는 이름의 쿼리를 :
class Publication {
String title
String author
static namedQueries = {
publicationsWithBookInTitle {
like 'title', '%Book%'
}
}
@Override
String toString() {
return title
}
}
그리고 controller
나는
def show() {
Publication publicationInstance = Publication.publicationsWithBookInTitle.get()
println "Get: ${publicationInstance}"
println "List: ${Publication.publicationsWithBookInTitle.list()}"
respond publicationInstance
}
그리고 내 unit test
:
void "test show"() {
given:
Publication publication = new Publication(title: 'MyBook', author: 'MB').save(flush: true, failOnError: true)
when:
controller.show()
then:
model.publicationInstance == publication
}
테스트를 실행하면 get () 메서드를 사용할 때 null이 표시되고 테스트가 실패합니다. 시스템 출력은
Get: null
List: [MyBook ]
나는 이것을 검색했지만이 문제의 해결책을 찾지 못했습니다.
이 문제가 발생하는 이유와이 문제의 해결책 또는 해결 방법은 무엇입니까?
참고 :- 현재 grails 2.3.9
. 하지만 내 프로젝트는 처음에 만든 grails 2.3.5
다음에 업그레이드 grails 2.3.9
.
마지막으로 dmahapatro 의견 의 도움으로 근본 원인을 파악했습니다 (@dmahapatro THANKS ).
명명 된 쿼리는 grails 2.3.9
. 그러나 내 프로젝트는 grails 2.3.9 릴리스 노트 에서 권장 하는 대로 grails 2.3.5
사용 hibernate:3.6.10.6
하고 변경되지 않은 업그레이드 되었습니다 . 프로젝트 최대 절전 버전을 업그레이드하면 내 문제가 해결되었습니다.hibernate:3.6.10.15
참고 :- 을 사용하는 경우 문제가 발생합니다 grails 2.3.5
.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다