You can declare a custom identify for your tables, see the docs at
Custom%20Database%20Identity
Then Grails will not attempt to create an id field.
Also you can turn off optimistic locking, which prevents the version field form being created:
http://grails.org/doc/1.1.x/ref/Database%20Mapping/version.html
These questions made me ask if you have read the Grails docs, and/or if you have purchased a Grails book - there are several good ones on the market.