You can set multiple datasources to take care of NoSQL db and MySQL db. Then you will be left with the domain objects which uses Java services for persistence.
You are using constraints on them but are you leveraging the Gorm Static API like dynamic finders on them? To abstract them from hibernate implementation, I would try moving them from grails-app/domain
to src/groovy
or use static mapWith = 'none'
in classes.