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

S2JDBC-Genで生成したJavaファイルの先頭に任意のコピーライトを含めるには?

下のエントリに関連するのでついでに。 <gen-entity rootpackagename="example" templatefileprimarydir="mydir" classpathref="classpath" /> temptemplatefileprimarydirを指定して、そのディレクトリにcopyright.ftlという名前でコピーライトの記述をしておくとファイルの生成時に含まれるようになります。</gen-entity>

S2JDBC-Gen 0.9.1 リリース

リリースしました。0.9.0 からの変更点は次のとおりです. Bug [CONTAINER-219] - Oracle Databseからエンティティを生成するとVARCHAR2がStringではなくbyte配列にマッピングされてしまう問題に対処しました。 [CONTAINER-222] - プロパティを新規に追加し…

Seasarカンファレンス

明日のSeasarカンファレンスのSAStrutsとS2JDBCの最新機能」のセッションでは、S2JDBC-Gen 0.9.1を使ってデモを行います。事前資料が準備できていなくてすみません。今から作ります。果たして寝られるのか?

S2JDBC-Genの紹介 その7 − 任意のSQLの実行

exec-sqlというAntタスクがあって、SQLのスクリプトが記述されたファイルを複数指定して実行できます。 スクリプトの中には、SQLステートメントだけではなく、SQLのブロック、1行コメント、ブロックコメントなどが含まれていても大丈夫です。SQLブロックとい…

S2JDBC-Genの紹介 その8 − ビルドファイルの雛形

S2JDBC-Genを使ってみたいんだけど、ビルドファイルを作成するのが面倒という方は、下のビルドファイルを雛形にしてください。 この雛形では、S2JDBCに必要なjar、S2JDBC-Genのjar、FreeMarkerのjarをlibディレクトリに置いてもらうことを想定しています。ge…

S2JDBC-Gen 0.9.0をリリース

S2JDBC-Gen 0.9.0をリリースしました。 S2JDBC-GenはS2JDBC用のエンティティやDDLを自動生成するためのツールです。ドキュメントはこちらです。 http://s2container.seasar.org/2.4/ja/s2jdbc_gen/index.html ダウンロードはこちらからどうぞ。 http://s2con…

AbstractEntity

S2JDBCでエンティティを自動生成するにはでid:j5ik2oさんがAbstractEntityがほしいといっていますが、これは次回リリースまでに対応しようかと思っています。 コメントでは、テンプレートファイルを直してと言っちゃいましたけど(コメント2回投稿してしまっ…

S2JDBC-Genの紹介 その6 − マイグレーション

S2JDBC-GenのマイグレーションはRailsのマイグレーションとは違います。Railsのマイグレーションはバージョン間のスキーマの変更分のみを適用しますが、S2JDBC-GenはDROP&CREATEで一旦全部消してから作り直すというスタンスです(データはダンプしてロード)。…

S2JDBC-Genの紹介 その5 − DDLの生成

S2JDBC-Genの大きな特徴はエンティティクラスからDDLを生成することにあります。これまでの開発ではスキーマを修正してからJavaクラスを変更という流れが一般的だったと思いますが、S2JDBC-Genはエンティティを修正してからその変更をスキーマに適用といった…

S2JDBC-Genの紹介 その4 − 名前インタフェースの自動生成

前回のエントリでS2JDBC-Genで生成できるのは4種類のクラスといいましたが、1つ増えて5種類になりました。 エンティティクラス (エンティティの)テストクラス サービスクラス 条件クラス 名前インタフェース 追加したのは名前インタフェースです。 名前イ…

S2JDBC-Genの紹介 その2 − テストコードの自動生成

前回のエントリのつづきです。 テストコードの自動生成 S2JDBC-Genは、エンティティを使ってデータアクセスを実行するテストコードも自動生成できます。まぁ、あんまりたいしたものではないかも。ないよりあったほうがちょっと便利といったぐらいです。 buil…

S2JDBC-Genの紹介 その3 − サービスクラスと条件クラスの自動生成

S2JDBC-Genはエンティティクラスやテストクラスのほかにエンティティのサービスクラスや条件クラスも作成できます。 サービスクラス サービスクラスはgen-serviceというAntタスクで生成できます。ここでいうサービスクラスはエンティティに対応するビジネス…

S2JDBC-Genの紹介 − エンティティの自動生成

最近取り組んでいたS2JDBC-Genがだいたい出来てきました。Seasarカンファレンスも近づいてきたので、今日から宣伝がてらちょっとずつ紹介していこうと思います。 S2JDBD-Genとは S2JDBC-Genは、データベースからS2JDBCのエンティティクラスを生成したり、エ…

S2Struts 1.3.0 リリース

リリースしました!ついにRCがとれてFinalです。 Bug [STRUTS-76] - S2StrutsのSubmitTagやImageTagのproperty属性に値を指定しても無視される問題に対処しました。 [STRUTS-77] - S2StrutsContextUtilクラスのgetMethodBindingExpressionメソッドが値を返さ…

S2JDBCのDBマイグレーション機能

Seasar Conference 2008 AutumnのA1のセッションでS2JDBCのDBマイグレーション機能についてデモを交えつつ何かしゃべる予定です。いろんな方の意見を聞いてみたいなと思っているので、気軽に声をかけてください。よろしくお願いします。

エンティティのJavaコードとDDLの生成機能の案

もともとの案としては、Generation Gapパターンを使って親クラスと子クラスのコードを生成して子クラスのコードを好きに変更してもらおうと思っていました。例えばAddressテーブルからエンティティを生成する場合はこんな感じ。 親クラスのコード @MappedSup…

developerWorksのSeasar2シリーズ 連載第5回目

小林さんの記事が公開されてます。 Seasar2: 第 5 回 Seasar2 から DB2 を利用するWASのコネクションプールやトランザクションマネージャをSeasar2から利用するときはこの記事が参考になりますね。ほかのアプリケーションサーバーやRDBMSを使う場合も応用が…

オレオレStruts拡張

S2Strutsをメンテナンスしているのですが、メンテナンスしてみて思ったのは「S2Strutsって意外と機能が多くて間単に使いたいだけの人にとっては全体を把握しにくいだろうなぁ」ということです。もっとシンプルなのがいいな、ということでこんな感じのオレオ…

S2Strutsのお奨めパターン

S2Strutsを使うときは1.2系/1.3系のバージョンにかかわらず共通で次のパターンでいくのがわかりやすくて安全だと思います。 基本的にjspとActionFormとActionとInitActionは1対1対1対1で作成 jspからのサブミットはformのaction属性に対応するActionへのみと…

クエリ式とメソッド呼び出しの関係

こんなかんじで var employees = from e in db.Employee where e.Salary > 2000 orderby e.EmployeeName select e;SQLっぽく書けるけど(これをクエリ式という)、上のクエリ式は次のようにメソッド呼び出しで書くのとなんら変わらない。クエリ式はこのよう…

ConcatとUnionのちがい

LINQのConcatはSQLのUNION ALL、LINQのUionはSQLのUNIONに変換されました。 Concat LINQ var query = (from e in db.Employee select e.EmployeeName) .Concat (from d in db.Department select d.DepartmentName); SQL SELECT [t2].[EmployeeName] FROM ( S…

結合

今日は結合の基本的なものを試してみました。 MSDNだと、このあたりで説明されています。 暗黙的な外部結合 関連をたどると外部結合のクエリが発行されます。JPAとは違ってますね。JPAのJPQLでは関連をたどると内部結合になったはず。結合とは関係ないけど、…

グループ化結合

外部結合を実現するために使ったinto式と組み合わせたjoin句ですが、これはグループ化結合というらしいです。 MSDNの説明 join 句 結合演算 グループ化結合の例 どうもDepartmentを左側に持ってきたほうがわかりやすいかも。 匿名型を使わずに書いてみました…

S2Struts-1.3.0-RC6 リリース

リリースしました。 ドキュメントとリリース作業で休みが終わったよ。。。 Bug [STRUTS-51] - HotDeployでSessionスコープのFormがクリアされる問題に対処しました。 [STRUTS-63] - 複数の実行メソッドを持つActionにBINDING_METHODアノテーションを使用でき…

LINQ to SQL で追加、更新、削除

Visual Studion 2008 の Express Editionでいろいろと動かしてみました。DBのスキーマはよくある、Department、Employeeで。DepartmentとEmployeeは1対多でEmployeeがDepartmentに対する外部キーを持っています。エンティティのコードはVisualStudioで自動生…

LINQ to SQL を触り始めました

LINQ to SQLってあっさりしたO/Rマッパーだと思っていたんですが、遅延ローディングがあったり、JPAのフェッチ結合みたいなのがあったり、JPAの永続コンテキストみたいなのがあったり、一応継承のマッピングもサポートしていたり(単一継承のみ)、と思って…

WTPでHOT deployするなら

S2Strutsの次のリリースにはHOT deployを使ったサンプルを含めるつもりですが、このサンプルはWTPで作っていくことにしました。HOT deploy対応のWTPの設定方法はWTPで毎回ワーキングフォルダをPublishingしにいってほしくない設定が参考になります。Maven は…

WebSphere Applicatioin Server V6.1 のセミナに行ってきた

WAS

メモ。 WAS V6.1 は2006年5月にリリースされた(もう2年も経ってるんですね) WAS V6.1 はSIP(Session Initiation Protocol)に対応している SIP は Next Generation Network の基本プロトコルらしい Portletにも力を入れている WAS V6.1 はドキュメント検…

S2Strutsのドキュメント

ところで、去年末から雑誌、developerWorks、JPA入門本、社内の書類、そしてまたdeveloperWorksと文章を書くタスクが続いてちょっとヘロヘロ。でも、まだ文章を書くタスクが1つ残っているんですよね。それがS2Strutsのドキュメント。S2Strutsのドキュメント…

developerWorksのSeasar2シリーズ 連載第4回目

公開されました。第1回目にひきつづき私が書かせてもらいました。Seasar2: 第 4 回 WebSphere Application Server Toolkit での HOT deploy の利用WebSphere Application Server ToolkitというEclipseベースのIDEを使ってWebSphere Application Server(WAS)…