Spring
SpringのStruts連携の一つの方法である、org.springframework.web.struts.ActionSupportを使った時のテスト。 何も設定をしないと、getWebApplicationContext()でnullが返されてしまうので自分で設定する必要がある。 public class TestTargetActionTest ext…
O/Rで一括更新などするのは邪道・・・というのはともかく、メンテ機能など作ろうとするとどうしても必要にはなる。 Hibernate3系ならばHQLを利用して一括更新するのが手っ取り早いかもしれない。 オリジナルはここ Session session = sessionFactory.openSes…
DIな設計思想から行くと、こんな実装になることが。 public interface Hoge{ List getList(); } public class HogeImplA implements Hoge{ private List<ClassA> list; List<ClassA> getList(){ return list; } } public class HogeImplB implements Hoge{ private List<ClassB> list</classb></classa></classa>…
criteriaを使用しているクラスのテストで以下の警告がでていた。 Running hoge.HogeDaoTest [WARN] ConnectionManager - unclosed connection, forgot to call close() on your session? (略) Tests run: 5, Failures: 0, Errors: 0, Skipped: 0, Time ela…
テストで利用するcontextは今までorg.springframework.context.ApplicationContextを使っていた。 が、org.springframework.context.ConfigurableApplicationContextというものもあるらしい。 こちらだとcontext.close()を使うことができる。
テスト用のコンテキストを作成するのに、どうしてもパスが通らなくて放置していたのだけど。 ApplicationContext context = new FileSystemXmlApplicationContext(〜SpringのXMLファイル); ふとorg.springframework.context.support.FileSystemXmlApplicatio…
hibernateの「3.5. オプションの設定プロパティ」*1のうち、「hibernate.show_sql」をlog4jで制御できるかと思ったのだが。 net.sf.hibernate.impl.BatcherImpl*2 private void log(String sql) { sqlLog.debug(sql); if ( factory.isShowSqlEnabled() ) Sys…
前々から興味はあったけれども、なかなか手を付けてこなかった分野かな。 Actionクラスの中で、画面制御をするのにTokenを使うのはよくある手段だと思う。 これまではAbstractActionにメソッドを用意しておいて、実装クラスのexecute()の先頭で毎回読んでい…
composite-idで複合Keyを設定してみた。 この時にExceptionが延々とでていた。 org.springframework.orm.hibernate.HibernateSystemException: identifier of an instance of hoge.entity.Users altered from hoge.entity.Users@146b6db[userId=3456789012,u…
OracleでTimeStampを使うとこんなログがでる。 WARNING - USER.REGIST_DATE data type (1111, ‘TIMESTAMP(6)’) not recognized and will be ignored. See FAQ for more information. また、テストデータにTimeStampの日付を追加すると、エラーになる。 org.d…
前回うまくいったはずが、とんだオチが残っていた。ここ*1を参考にしつつ、まずは継承元を変更。 extends DatabaseTestCase そうすると継承していないメソッドがあるので、追加する。 /* (non-Javadoc) * @see org.dbunit.DatabaseTestCase#getConnection() …
課題を残しつつも、どんどん進んでいこう。 まずはぐぐってみる*1。 ここのページ*2はEclipseを入れたときにも参考にしたところだな*3。 1.DBUnitの入手*4 Ver2.1をダウンロード2.解凍して、プロジェクトのlibフォルダに格納する3.各種ドライバのセッ…
試行錯誤して、ある日ふと閃いた方法。というかはよ気がつけよ、と思ったのも事実だが・・・。 お約束の層分け ・web層 ・・・ActionクラスとかStrutsまわり ・app層 ・・・POJOによるビジネスロジック ・domain層 ・・・DBアクセスを管理 目的 「web-app層…
雑用がいろいろあるので、後輩に技術検証まかせているが・・・Tomcato+Hibernateまではなんとか。設計のためのアーキテクチャもおおよそは把握できた(実装は楽になるとは思うけど)。 ただ、Eclipse+Hibernate+Springだとどうもうまく動かない。SQLエラー…