1

컬럼 이름에 특수 문자가있는 테이블에 대한 최대 절전 모드에서의 매핑을 구현하려고 시도하고있다. 즉, "-"하이버 네이트 매핑은 별칭 "h002-01"을 가진 컬럼에 대해 Grails에서 에러를 생성한다

매핑 도메인 클래스

//properties 
    Boolean h00_02 

//mapping 
    static mapping = { 
    h00_02 column : 'h00-02' 
    } 

예외 스택 추적 :

2011-01-14 09:47:01,492 [http-8080-2] ERROR util.JDBCExceptionReporter - Unknown column 'this_.h00' in 'field list' 
2011-01-14 09:47:01,532 [http-8080-2] ERROR errors.GrailsExceptionResolver - Exception occurred when processing request: [GET] /Dailyreport/dates/list 
Stacktrace follows: 
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'this_.h00' in 'field list' 
at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) 
at com.mysql.jdbc.Util.getInstance(Util.java:381) 
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1030) 
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423) 
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1936) 
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2060) 
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2542) 
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1734) 
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:1885) 
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) 
at org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:96) 
at dailyreport.DatesController$_closure2.doCall(DatesController.groovy:13) 
at dailyreport.DatesController$_closure2.doCall(DatesController.groovy) 
at java.lang.Thread.run(Thread.java:662) 

쿼리 : 당신이 어떤 생각을해야합니까, 내가 어떻게 상기 문제를 해결할 수 있습니다 . 그것을 탈출하려고했지만 너무 donot 작업. exsisting db에서 UI를 개발하려고하기 때문에 앞에서 설명한 열 이름을 사용해야합니다.

미리 감사드립니다.

답변

3

이 방법이 유용합니까?

static mapping = { 
    h00_02 column : '`h00-02`' 
} 

(또는 당신은 "나는 그것을 탈출을 시도"말할 때 당신은? 무엇을 의미한다는 것입니다)

+0

감사합니다! 그것은 매력처럼 작동합니다. @ 착상 : h00 \\ - 02 – Rehman