title: using grails with legacy database
body: <p>I faced with problem of using Grails with legacy Oracle database. I have legacy table TARGETTYPES with primary key text column TARGETTYPECODE: </p>
  
  <pre><code>CREATE TABLE "TMS"."TARGETTYPES" 
     (    "TARGETTYPECODE" VARCHAR2(100) NOT NULL ENABLE, 
      "TARGETTYPEDESCR" VARCHAR2(255 CHAR), 
      "ACTIVE" CHAR(1) DEFAULT 'Y' NOT NULL ENABLE, 
       CONSTRAINT "TARGETTYPES_PK" PRIMARY KEY ("TARGETTYPECODE")
     )
  </code></pre>
  
  <p>I created grails domain class:</p>
  
  <pre><code>package tmsconf
  
  class Targettypes {
  
      static transients = ['Targettypecode']
      void setTargettypecode(String Targettypecode) {
              id = Targettypecode
      }
  
      String  getTargettypecode() {
              return Targettypecode
      }
  
      String targettypedescr
      String active
  
      static mapping = {
           table 'TARGETTYPES'
           version false
           columns {
               id generator:'assigned', column:"TARGETTYPECODE", type:'text'
           } 
      }
  
      static constraints = {
          id()
          targettypecode(size: 1..100, blank: false)
          targettypedescr(size: 0..255)
          active(size: 1..1, blank: false)
          id(nullable: true)
      }
      String toString() {
          return "${targettypecode}" 
      }
  }
  </code></pre>
  
  <p>Also I created controller class:</p>
  
  <pre><code>package tmsconf
  
  class TargettypesController {
      def scaffold = true
  }
  </code></pre>
  
  <p>Application has started successfully. </p>
  
  <p>When I click on link tmsconf.TargettypesController I have error in console:</p>
  
  <pre><code>Error 2012-10-10 10:55:37,243 [http-bio-8080-exec-9] ERROR util.JDBCExceptionReporter  - ORA-00918: column ambiguously defined
  
  | Error 2012-10-10 10:55:37,305 [http-bio-8080-exec-9] ERROR errors.GrailsExceptionResolver  - SQLSyntaxErrorException occurred when processing request: [GET] /TMSConf/targettypes/list
  ORA-00918: column ambiguously defined
  . Stacktrace follows:
  Message: ORA-00918: column ambiguously defined
  
      Line | Method
  -&gt;&gt;  445 | processError         in oracle.jdbc.driver.T4CTTIoer
  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
  |    396 | processError         in     ''
  |    879 | processError . . . . in oracle.jdbc.driver.T4C8Oall
  |    450 | receive              in oracle.jdbc.driver.T4CTTIfun
  |    192 | doRPC . . . . . . .  in     ''
  |    531 | doOALL               in oracle.jdbc.driver.T4C8Oall
  |    207 | doOall8 . . . . . .  in oracle.jdbc.driver.T4CPreparedStatement
  |    884 | executeForDescribe   in     ''
  |   1167 | executeMaybeDescribe in oracle.jdbc.driver.OracleStatement
  |   1289 | doExecuteWithTimeout in     ''
  |   3584 | executeInternal . .  in oracle.jdbc.driver.OraclePreparedStatement
  |   3628 | executeQuery         in     ''
  |   1493 | executeQuery . . . . in oracle.jdbc.driver.OraclePreparedStatementWrapper
  |     96 | executeQuery         in org.apache.commons.dbcp.DelegatingPreparedStatement
  |     55 | &lt;init&gt; . . . . . . . in grails.orm.PagedResultList
  |     15 | list                 in tmsconf.TargettypesController
  |    186 | doFilter . . . . . . in grails.plugin.cache.web.filter.PageFragmentCachingFilter
  |     63 | doFilter             in grails.plugin.cache.web.filter.AbstractFilter
  |   1110 | runWorker . . . . .  in java.util.concurrent.ThreadPoolExecutor
  |    603 | run                  in java.util.concurrent.ThreadPoolExecutor$Worker
  ^    722 | run . . . . . . . .  in java.lang.Thread
  </code></pre>
  
  <p>Please help, where am I wrong</p>