13.1.1 Transactions and Multi-DataSources
Given two domain classes such as:
class Movie {String title}
class Book {String titlestatic mapping = {datasource 'books'}}
You can supply the desired data source to @Transactional or @ReadOnly annotations.
import grails.gorm.transactions.ReadOnlyimport grails.gorm.transactions.Transactionalimport groovy.transform.CompileStatic@CompileStaticclass BookService {@ReadOnly('books')List<Book> findAll() {Book.where {}.findAll()}@Transactional('books')void save(String title) {Book book = new Book(title: title)book.save()book}}
@CompileStaticclass MovieService {@ReadOnlyList<Movie> findAll() {Movie.where {}.findAll()}}