そして S2JDBC を使わなくなった

 S2JDBC、何がいいって @GeneratedValue アノテーション。これにつきます。DB が何であろうと、Entity クラスではこれさえ定義しておけば OK みたいなもので、私はこれだけのために S2JDBC っていいなって思ってたんです。


 ところがですね、S2JDBCユニットテストではけっこう癌なんですよ。@GeneratedValue がいいなんて言ってるってことは、プライマリキーが定まらないってことが多いってことです。ということで、Excel でテストデータを準備してどうこうというテストははっきり言ってできないんですよね。というか、データを入れたり出したりという処理は結構単純なことが多いので、ほんとにデータが入ってるかとか、ほんとにデータが取れるかというはある意味どうでもいいんです。


 なので、EasyMock を使って「とってきたことにする」というテストをよく書くのですが、S2JDBC だとこれがすごくやりにくい! 流れるようなインタフェースに対応するため、「流れるような Mock」を作らなきゃいけない。これ、ホント、ダルいです。Mock 作るなら S2Dao ですね。