2013年6月29日土曜日

RailsのDatabase確認

RailsプロジェクトのRootで
rake dbconsole

もしくは、同じディレクトリで、
sqlite3を使用しているなら、
sqlite3 'DatabaseのPath'

ちなみに、DatabaseのPathは、
config/database.yml

に書いてあります。

2013年6月3日月曜日

複数メソッドに跨ったトランザクション処理

SpringのTransactionを利用せずに、自分でTransactionを制御したい。
SpringのTransactionは、1メソッド内で完結する必要があるが、私がやりたいことは、複数メソッドにまたがってTransactionを維持したいのである。

それをするには、Transactionを持ち回わらなければいけない。
Hibernateでは、EntityManagerからTransactionを取得することが禁止されているようであるが、それを取得するメソッドが公開されている。恐らく設定なのだろう。

java.sql.Connectionクラスを使って、おとなしくDBからデータ取得して、Mapにでも詰めるのがベターなのだろうか。

しかし、私が取得したいデータは複数にまたがっているので、データ取得時に、JOINしないとダメかな。

取りあえず、単純にDBからQuery発行して直接データ取得した後、Objectにデータ詰めたいですって人には、以下のURLが参考になると思います。

http://www.codeproject.com/Tips/372152/Mapping-JDBC-ResultSet-to-Object-using-Annotations