2006-01-01から1年間の記事一覧

S2JUnit4 で EasyMock

対応しました。 こんな感じになります。 @RunWith(Seasar2.class) public class EasyMockTest { @EasyMock(EasyMockType.STRICT) private Map<String, String> map; public void map() throws Exception { map.put("a", "A"); map.put("b", "B"); assertEquals(2, map.size()</string,>…

S2JUnit4 で Mock の自動織り込み

こんな感じでコミットしてみました。 > id:skimuraさん @RunWith(Seasar2.class) public class EmployeeDaoTest { private TestContext ctx; private EmployeeDao dao; public void before() { ctx.include("app.dicon"); } @Mock(target = EmployeeDao.clas…

S2JUnit4 で Mock の自動織り込み その2

private TestContext ctx; private EmployeeLogic logic; @Mock(target = EmployeeDao.class) public void hoge() throws Exception { logic.hoge(); assertTrue(ctx.getMockInterceptor(0).isInvoked("update")); } @Mockに対応するMockInterceptorはTestCo…

S2JUnit4でMockの自動生成?

http://d.hatena.ne.jp/skimura/20061211#p1アノテーションからMockInterceptorを使ったMockを自動生成するってことね...

JPQLのHAVING句

JPA

The HAVING clause must specify search conditions over the grouping items or aggregate functions that apply to grouping items. ドキュメントに上のようにあるのですが、JPQLのHAVING句ってなんだか制限がきついですね。 下の3つのJPQL(それぞれHAVING…

Seasar Conference 2006 Autumn

何にもお手伝いしなくても申し訳ないです。参加者として楽しませてもらいました。 Super Agileおもしろかったです。僕のWebアプリ開発の経験はJSPにスクリプレットでゴリゴリと書いていた2、3年前でとまっているのですが、もうまったくの別物ですね。 あと、…

Refectaring Databases

Refactoring Databases: Evolutionary Database Design (Addison-Wesley Signature Series (Fowler))作者: Scott W. Ambler,Pramodkumar J. Sadalage出版社/メーカー: Addison-Wesley Professional発売日: 2006/03/13メディア: ハードカバー クリック: 3回こ…

ユニーク制約

DB

アーキテクチャ徹底解説 SQL SERVER2000 (マイクロソフト公式解説書)のp.467より引用。 PRIMARY KEY制約またはUNIQUE制約を宣言すると、CREATE INDEXコマンドを使用した場合と同様に、1つまたは複数の列に一意のインデックスが作成される。これらの制約を宣…

付加列インデックス

DB

付加列インデックスはSQL Server 2005 からの機能みたいです。 http://msdn2.microsoft.com/ja-jp/library/ms190806.aspx下のリンク先の「カバリング インデックスと付加列インデックスの違い」という図がわかりやすいです。 http://www.microsoft.com/japan…

INDEX-onlyとかカバリングインデックスとか

DB

ちょっと前までT字形で出てくるINDEX-only(http://www.sdi-net.co.jp/sdi_228.htm)ってよくわかっていなかったんですが、MSの説明だとクエリをカバーするインデックス(カバリングインデックス)とか包括するクエリとかいうのにに相当するみたいです。ああ、…

クラスタ化インデックスは主キーにつけないほうがいいかも

DB

最近のマイブーム(死語?)はインデックスです。 SQL Serverのインデックスを理解するためにとんでもなく分厚い本を買ってしまいました。アーキテクチャ徹底解説 SQL SERVER2000 (マイクロソフト公式解説書)作者: カレンデレーニ,Kalen Delany,クイック出版…

ADO.NET vNextをさわってみる

ADO.NET vNext ADO.NETの次のバージョンはvNextと呼ぶらしいです。ぱっと見、JavaのPersistence API(JPA)でいうところのJPQL、EntityManager、Entityクラス、Embeddedクラス、継承戦略に相当するものがあって似ているのかなぁという印象です。明らかにちがう…

CREATE ASSERTION文

DB

最近SQL Serverで整合性制約のためのトリガーをいくつか書いてみて思いました。ちょっとめんどくさくない? CREATE ASSERTION文で宣言的に制約かけられたら楽だろうなーって思います。 でもCREATE ASSERTION文をサポートしているDBってあるんでしょうか。 SQL…

Eclipse の Call Hierarchy の Filter

テストクラスからのcallだけ表示しないって指定ができればうれしいのですけどそういうことはできなさそう。 でも命名規則に頼ってこんな感じでフィルター掛ければ一応期待通りの結果になるっぽい。 org.seasar.*Test , org.seasar.*TestCase , org.seasar.*T…

S2JUnit4のドキュメント更新

http://s2container.seasar.org/ja/S2JUnit4.html更新してみました。ちかれた... もし興味があったら読んでみてくださいませ。

S2JUnit4でOGNL その2

考えあぐねた末どうもテスト開始前にコンポーネントにアクセスするのは無理があるなぁということで@Prerequisiteでのコンポーネントアクセスは止めることにしました。結局こんな感じで使えるものをコミットしました。 @RunWith(Seasar2.class) public static…

S2JUnit4でOGNL

JUnit 4 Extensions(開発止まっている?) のPrerequisiteアノテーションにはbooleanを返すメソッド名を指定できます(このメソッドがリフレクションで呼び出され結果がtrueならばテストメソッドが実行されるという仕組み)が、S2JUnit4的にはOGNLを使うと…

S2Hibernateの進捗 その2

EntityReaderのコードを整理したらはHibenateのAPIを直接呼ばなくていいほどにすっきりしました(^^EntityReaderはJoinedSubclassの継承があるときなどに親子のテーブル両方をDataSetに変換しますが、さらに@CollectionOfElementsでマッピングされたテーブル…

S2Hibernateの進捗

HibernateのエンティティをDataSetに変換するEntityReaderがようやく形になってきました。(コミットしました。) もう少し洗練させたら S2JUnit4からこのEntityReaderを使ってエンティティとExcelを比較できるようにします。 S2JUnit4ももう少し使いやすく…

Mavenでのテスト通りました。

id:koichikさん、S2Hibernate-JPAがMavenでテストが通らないというのはガセネタでした。すみません。m(_ _)m ローカルのリポジトリ(.m2/repogitory)を一旦削除してテスト走らせたらOKでした。私の環境の問題だったようです。

FlushModeType.COMMITでSELECTすると削除されたEntityが読めるのか?

Java EE勉強会で「FlushModeType.COMMITを指定してremovedなエンティティを読もうとしたら例外が起きるということが仕様書に書いてあったような...」と言ったのですが、言った後だんだん自信がなくなってきました。ちょっとS2Hibernate-JPAを使って試してみ…

EntityNotFoundExceptionにはThrowableを受け付けるコンストラクタがない

Java EE勉強会でThrowableなクラスにThrowableを受け付けるコンストラクタがないやつがあるという話がありました。実は下に出てきたEntityNotFoundExceptionもその1つ。 http://java.sun.com/javaee/5/docs/api/javax/persistence/EntityNotFoundException.h…

Merge実行時にSELECT文が実行されるのか?

試してみました。

エンティティクラスとテーブル名

「@Tableでテーブル名を指定しなければクラス名がテーブル名になる」というは正確ではなないと言いたかったのですが、うまく説明できたようなできなかったような...。 ちょっとまとめてみます。エンティティクラスを作るときって、意識する名称が3つあるって…

S2Hiberanteでマッピングファイルの自動登録

こんな感じで考えました。 まずpersistence.xmlのproviderにorg.seasar.hibernate.jpa.S2HibernatePersistenceを指定。persistence.xml <persistence> <persistence-unit name="persistenceUnit" transaction-type="JTA"> <jta-data-source>jdbc/DataSource</jta-data-source> <provider>org.seasar.hib…</provider></persistence-unit></persistence>

テスト通らない!?

hotdeploy.diconやconvention.diconの設定が実在するクラスと合っていないような気がします。

Auto Detection機能追加

S2Containerのコミッタの方に向けて自分の意図や気になっていることを書いておきます。 クラスやマッピングファイルのAuto Detection(クラスパスからの自動発見) の機能はいずれKuinaやS2Toplinkにも必要になるような気がしたのでS2本体に入れました。パッ…

まだまだ

マッピングファイルを自動でみつけてHibernateに渡す機能を作ったつもりでしたが、マッピングファイルのpathをHibernateに教えても正確じゃないですね...おんなじリソースを読み込むとは限らないし。InputStreamにすべきですね、きっと。明日やります。Resou…

JPAのWrite LockとPofEAAの粗粒度ロック

JPA

開発の現場 Vol.004 効率UP&スキルUP エンジニアのための実践ソフトウェア技術誌作者: SE編集部出版社/メーカー: 翔泳社発売日: 2006/04/13メディア: 大型本 クリック: 3回この商品を含むブログ (17件) を見るPofEAA早分かりガイドがいいです!とても参考に…

S2Hibernate-JPAでエンティティの自動登録 その2

目標としていた次の機能をつくりました。 指定したエンティティをS2コンテナ経由でHibernateに登録 指定したマッピングファイルをS2コンテナ経由でHibernateに登録 指定したパッケージ以下のエンティティをS2コンテナ経由でHibernateに自動登録 3番目の機能…