2008-01-01から1年間の記事一覧
S2JDBC-Genで、同じテーブルにマッピングされた別エンティティがあったらマージしてひとつDDLを生成しているよと今日しゃべっちゃいましたけど、コードみるとやっていませんでした。。。 当初、考えたけど、テーブルとエンティティは1対1というシンプルなの…
S2JDBCでは、次のデータベースを使ったテストを行っています。 Oracle Database DB2 PostgreSQL MySQL H2 HSQDB Derby これまでは手動で動作確認していましたが、Hudsonで自動テストができるようになりました。ちょっとずつテストコードを作ってきたことが報…
http://relation.to/Bloggers/ATypesafeCriteriaQueryAPIForJPAjavax.jpa.metamodel.Entity とか javax.jpa.metamodel.Attribute といったメタモデルのクラスをサポートして、Criteriaをタイプセーフに記述できるようにするのはどうか、メタモデルのコードは…
q4eでS2JDBC-Gen 0.9.4へのdependencyを設定すると、環境によってはpom.xmlのエディタに「tools.jarが解決できません」みたいなエラーが出ます。その場合は、Eclipseを起動するときに明示的に(JREではなく)JDKのjavawを使うようにしてください。Windowsを…
疑問1.S2JDBC-Genでentityを作るときの挙動entityを作るとDBではintで定義しているカラムが何故かStringになる。 s2jdbc.diconの設定を忘れてしまうと確かにこうなるんですよねー(実は自分もはまったことあったり)。 そこそこ、動いてしまうのでわかりに…
S2JDBC-Genは、データベースのデータをCSV形式でダンプします。 秋のSeasarカンファレンスで、CSV以外にExcelに対応しないのかと質問されて少し検討したのですが、当面は対応しない方向で考えています。 というのも、CSVエディタ(Cassava Editorなど)を使…
ドキュメントにS2JDBC-Genの効果的な利用法という項目を付け加えました。DBスキーマからエンティティを何度も生成し直す手法には向いていないですよ(その場合はDBFluteがいいですよ)、と書いておきました。S2JDBC-Genの売りは、なんと言っても「DDLの生成…
S2JDBC-Genの0.9.4がリリースされています。ChangeLogやダウンロードのURLについてはこちらを参照してください。0.9.3から移行する場合は、移行の注意点を確認お願いします。0.9.4の新しい機能について軽く紹介してみます。 Gen-SqlFileTestタスク S2JDBCはS…
いくつか内容をまとめ。 GlassFish and the Future of Java EE 当然マシンにもよるがGlassFish v3はそこそこのスペックなら1秒で起動するらしい。 それくらい速ければ、たしかに便利だと思う。アプリケーションからGlassFishを起動できるというEmbeddable Gl…
[Seasar-user:16411] [S2JDBC-Gen] 外部キー生成DDLで制約オプションが反映されない の件です。S2JDBCの次バージョンで導入されるReferentialConstraintアノテーションで対応するのはどうでしょうか。対応するとしたらこんな感じになります。 @Entity public…
JavaEE勉強会の帰り道、S2JDBCのwhereメソッドでin条件に配列ではなくListを渡せるようにしてほしいという意見を聞きました。 「対応しているはずでは?」と答えてしまいましたが、SimpleWhre、Condition、Operationsのいずれでも対応していないですね。現状…
JPQLとCriteriaを並べて解説してくれています。仕様書を読んだ人には新しい発見はないかも。http://blogs.sun.com/ldemichiel/entry/java_persistence_2_0_public1
追記 影響を受けるのは2箇所ではなく3箇所でした。 10gや11gで発生することがわかっています。どいうことかというと、 java.sql.DatabaseMetaData metaData = ... metaData.getIndexInfo(null, "schema", "あいうえお", true, false); // 3番目のパラメータ…
追記 (※)小林さんに「外部キー」と「外部キー制約」は意味が違うよねという指摘を受けたのでちょっと全体的に言葉を置き換えてみました。 Gen-Ddlで外部キー生成を抑制するアイデアのつづきです。いろいろアイデアがでて練った結果、次の2つの機能を提供する…
小林さんのコメントで知りましたが、JPA2.0のPublic Reviewが出ています。 PDFのダウンロードはこちら。http://jcp.org/aboutJava/communityprocess/pr/jsr317/index.htmlPublic ReviewのメインはCriteria APIです。p.192から抜粋するとCriteriaのAPIの利用…
id:mokkouyou2001さんが現在比較中2というエントリでS2JDBCとDBFluteを比較しています(おもしろいです)。その中で、S2JDBC-Genの弱点をつかれてしまいました > 制約がない場合の結合Entityにアノテーションとフィールドを適切に設定すれば動くS2JDBCが素…
Seasarカンファレンスでid:jfluteさんにDBFluteのOutsideSqlTestを説明してもらって、とても良い機能だとおもったので、考え方を参考にさせていただきました。S2JDBC-Genでは、AntのGen-SqlFileTestタスクにより専用のテストクラスを生成し、このテストクラ…
DB ←→ Java の間でコメントを相互に反映できると便利と感じている方が多いようなのでS2JDBC-Genでも対応しました。 S2JDBC-Gen でコメントの管理 s2jdbc-genでコメントを管理したい [Seasar2][dbflute][S2JDBC] 現在比較中 DBFluteにも負けてられないしね!…
このエントリでは、S2JDBC-Genを使って手軽にデータベースリファクタリングをする方法を紹介します。S2JDBC-Genは、Javaコード(S2JDBCのエンティティ)の修正をデータベーススキーマに反映させるツールです。 S2JDBC-Genの実行に必要な動作環境は、Eclipse…
Dolteng の Database View から Scaffold をする際ですが、Scaffold実行前にS2JDBC-Genでエンティティやサービスのクラスをあらかじめ作成しておいてください。 具体的には下のエントリで紹介した、「s2jdbc-gen-build.xml」のgen-entityターゲットを起動し…
にぎわっていました。 MySQL 5.1、MySQL Cluster、パフォーマンスチューニング、他のDBからMySQLへの移行事例を扱ったセッションが人気だったように思います。これから使うというよりすでに使っている人たちが多かったのかもしれないですね。いくつか面白か…
.NET Framework 3.5 SP1では、LINQを使ったデータベースアクセスの手法が2つ(LINQ to SQLとLINQ to Entities)存在していて、どっちを使うべきか迷いどころだったわけですが、MSの方針が明確になったみたい。Update on LINQ to SQL and LINQ to Entities Ro…
リリースしました。 ダウンロードはこちらから。 http://s2dao.seasar.org/ja/ 1.0.48からの変更点はこちらを参照ください。 http://www.seasar.org/wiki/index.php?ChangeLog%2FS2DAO#lfb4162f
PostgreSQLのTEXT型はCLOBか否か?のつづきです。PostgreSQLのJDBCドライバでは、CLOBをOID型(ラージオブジェクト)にマッピングしているのですが、文字としてではなくあくまでバイト列として格納しているということがわかりました。つまり、文字にたとえば…
http://jfut.featia.net/diary/20081010.html#p01 の話です。コメントしたつもりだけど、反映されなかったので、一応こっちにも書いておきます。 公式のドキュメントでは情報が足りなくていろいろ探していたのですが、開発者のKris JurkaさんがCLOBはTEXT型…
0.9.1からの変更点はWikiに記載されているとおりです。 http://www.seasar.org/wiki/index.php?SeasarWhatsNew%2F2008-10-08#sf40abde ドキュメントにも書いていますが、改めて強調しておくと、S2JDBC-Genのコンセプトは「エンティティクラスの修正をデータ…
id:agtさんからの要望ですが、今のところ、テンプレートファイルを差し替える以外の方法はないです。優先度はちょっと低めになってしまいますが、将来的にはAntタスクでuseaccessor="true"のように指定できるようにしようと思います。アクセッサーを生成する…
ExcelってCSVの扱い長けているものだと思い込んでいましたが、使ってみると非常に使いにくいです。CSVを取り込むときにウィザードを実行しないといけなかったり、保存するときのダブルクォートの扱いを指定できなかったりなど。代わりにCSVエディタのCassava…
関係者の方、参加された方、おつかれさまでした。当日の資料は以下のサイトでダウンロードできます。デモが中心だったためページ数は少ないですが、ぜひご覧ください。 http://event.seasarfoundation.org/sc2008autumn/Session#a1会場で受けた質問やブログ…
テンプレートを格納したディレクトリをtemplatefileprimarydir属性に指定します。 テンプレートファイルの名前はxxxtemplatefilename属性に指定します。(xxxのところはタスクで異なります)たとえば、gen-entityの場合こんな感じです。 <gen-entity rootpackagename="example" templatefileprimarydir="mydir" entitytemplatefilename="my-entity.ftl" classpathref="classpath" /> テンプレートファイ</gen-entity>…