次の例は、SQLのマニュアルです。これらの方法のいずれかを使用してgrailsサービスクラスの途中でsqlインスタンスを作成すると、grails接続プーリングが使用されますか?どんなトランザクション機能にも参加しますか?自分で接続を閉じる必要がありますか?それとも自動的にプールに戻ってきますか?grailsでgroovy sqlクラスを使用している場合は、grails connection poolingを使用していますか?
def db = [url:'jdbc:hsqldb:mem:testDB', user:'sa', password:'', driver:'org.hsqldb.jdbcDriver']
def sql = Sql.newInstance(db.url, db.user, db.password, db.driver)
またはあなたが(おそらく接続プールからの)既存の接続を持っているか、データソースは、コンストラクタの1を使用する場合:
def sql = new Sql(datasource)
を今、あなたは、例えば、SQLを呼び出すことができますテーブルを作成するには:
sql.execute '''
create table PROJECT (
id integer not null,
name varchar(50),
url varchar(100),
)
'''
こんにちはErnesto、私は本当に答えが必要な質問に十分な情報を追加していないことに気付きました。私は複数のデータソースを持っており、実行時にデータを見るまではわかりません。私は、サービスに複数のデータソースを注入することはできないと信じています。だから、より大きな問題は、どのデータベースに行きたいのか、Sqlクラスを使用するのか、そして自動プーリングを得るのかです。そして私はサービスクラス以外のクラスでこれをやりたいかもしれません。私はサービス取引管理は必要ありません。 – Andrew