Seasar

WindowsのEclipse3.5のAntの問題

WindowsのEclipse3.5のAntなんですが、実行するAntタスクが日本語をログ出力していると、コンソール出力が行われません。Eclipseのエンコーディングの問題なんですよ。だれか解決して〜。現時点では、Eclipse3.5のAntからS2JDBC-GenのAntタスクをうまく動か…

Namesクラス と SqlFilesクラス

たけぞうさんからリクエストがあったNamesクラスとSqlFilesクラスに対応しました。次のバージョン(2.4.40)に入ります。 Namesクラスは、Gen-Namesタスクを実行すれば自動で作られるようにしました(生成しないことも可)。 SqlFilesクラスは、こんなantタ…

Seasarカンファレンスでしゃべります

最近作ったDaoフレームワークDomaを紹介します。 http://event.seasarfoundation.org/sc2009autumn/Session#S3042 ここ数年、S2Daoをメンテナンスし、S2JDBC-Genを作り、Hibernate(JPA)の本を書いてと、3つのO/Rマッパー(S2Dao、S2JDBC、Hibernate)に深…

S2JDBC-Gen の正式版を含んだ Dolteng 0.35.0 がリリース

S2JDBC-Gen 2.4.34 が含まれているDolteng 0.35.0 がリリースされました!DoltengのインストールからS2JDBC-Genを実際に使うまでの一連の手順は、S2JDBC-Genでデータベースリファクタリングに以前書いたので、ぜひ試してもらえればと思います。このエントリ…

S2JDBC-Genファイナル(正式版)リリース

これまで、0.9.xというバージョンでベータ版扱いでしたが、先日のリリースよりSeasar2本体のバージョンに合わせ正式版(2.4.34)としてリリースしました。ブログやMLなどでいろんな方からフィードバックをいただき、面白いものができたんじゃないかと思って…

新しいテーブルの作成

S2JDBC-Genで、たまに勘違いされてしまうのは、新しいテーブルを作成するときです。 まちがい CREATE TABLE文を作成する CREATE TABLE文を実行しテーブルをDB上に作成する AntでGen-Entityを実行しテーブルに対応するエンティティクラスを作成する テーブル…

Gen-Entityでの日付型プロパティ

これまで、S2JDBC-GenのGen-Entityタスクは、日付型のカラムに対するプロパティは@Temporalつきのjava.util.Date型であるものとしてコードを生成してきました。こんな感じ。 import java.util.Date; ... @Entity public class Foo { /** idプロパティ */ …

かんちがい

S2JDBC-Genで、同じテーブルにマッピングされた別エンティティがあったらマージしてひとつDDLを生成しているよと今日しゃべっちゃいましたけど、コードみるとやっていませんでした。。。 当初、考えたけど、テーブルとエンティティは1対1というシンプルなの…

HudsonでS2JDBCの結合(統合)テストを自動化

S2JDBCでは、次のデータベースを使ったテストを行っています。 Oracle Database DB2 PostgreSQL MySQL H2 HSQDB Derby これまでは手動で動作確認していましたが、Hudsonで自動テストができるようになりました。ちょっとずつテストコードを作ってきたことが報…

Eclipseプラグイン q4e で S2JDBC-Gen 0.9.4 を使うときの注意

q4eでS2JDBC-Gen 0.9.4へのdependencyを設定すると、環境によってはpom.xmlのエディタに「tools.jarが解決できません」みたいなエラーが出ます。その場合は、Eclipseを起動するときに明示的に(JREではなく)JDKのjavawを使うようにしてください。Windowsを…

S2JDBC-GenのFAQつくりました

疑問1.S2JDBC-Genでentityを作るときの挙動entityを作るとDBではintで定義しているカラムが何故かStringになる。 s2jdbc.diconの設定を忘れてしまうと確かにこうなるんですよねー(実は自分もはまったことあったり)。 そこそこ、動いてしまうのでわかりに…

ダンプファイルのExcel対応

S2JDBC-Genは、データベースのデータをCSV形式でダンプします。 秋のSeasarカンファレンスで、CSV以外にExcelに対応しないのかと質問されて少し検討したのですが、当面は対応しない方向で考えています。 というのも、CSVエディタ(Cassava Editorなど)を使…

S2JDBC-Genの効果的な利用法

ドキュメントにS2JDBC-Genの効果的な利用法という項目を付け加えました。DBスキーマからエンティティを何度も生成し直す手法には向いていないですよ(その場合はDBFluteがいいですよ)、と書いておきました。S2JDBC-Genの売りは、なんと言っても「DDLの生成…

S2JDBC-Gen 0.9.4 ハイライト

S2JDBC-Genの0.9.4がリリースされています。ChangeLogやダウンロードのURLについてはこちらを参照してください。0.9.3から移行する場合は、移行の注意点を確認お願いします。0.9.4の新しい機能について軽く紹介してみます。 Gen-SqlFileTestタスク S2JDBCはS…

@ReferentialConstraintで参照動作の指定

[Seasar-user:16411] [S2JDBC-Gen] 外部キー生成DDLで制約オプションが反映されない の件です。S2JDBCの次バージョンで導入されるReferentialConstraintアノテーションで対応するのはどうでしょうか。対応するとしたらこんな感じになります。 @Entity public…

S2JDBCのwhereメソッドのin条件にListを

JavaEE勉強会の帰り道、S2JDBCのwhereメソッドでin条件に配列ではなくListを渡せるようにしてほしいという意見を聞きました。 「対応しているはずでは?」と答えてしまいましたが、SimpleWhre、Condition、Operationsのいずれでも対応していないですね。現状…

日本語テーブルを使うとOracleで一意キーの情報がとれない件

追記 影響を受けるのは2箇所ではなく3箇所でした。 10gや11gで発生することがわかっています。どいうことかというと、 java.sql.DatabaseMetaData metaData = ... metaData.getIndexInfo(null, "schema", "あいうえお", true, false); // 3番目のパラメータ…

Gen-Ddlで外部キー生成を抑制するアイデア

id:mokkouyou2001さんが現在比較中2というエントリでS2JDBCとDBFluteを比較しています(おもしろいです)。その中で、S2JDBC-Genの弱点をつかれてしまいました > 制約がない場合の結合Entityにアノテーションとフィールドを適切に設定すれば動くS2JDBCが素…

SQLファイルに記述されたSQLをテストするGen-SqlFileTestタスク

Seasarカンファレンスでid:jfluteさんにDBFluteのOutsideSqlTestを説明してもらって、とても良い機能だとおもったので、考え方を参考にさせていただきました。S2JDBC-Genでは、AntのGen-SqlFileTestタスクにより専用のテストクラスを生成し、このテストクラ…

S2JDBC-Genでコメント管理できるようにしました

DB ←→ Java の間でコメントを相互に反映できると便利と感じている方が多いようなのでS2JDBC-Genでも対応しました。 S2JDBC-Gen でコメントの管理 s2jdbc-genでコメントを管理したい [Seasar2][dbflute][S2JDBC] 現在比較中 DBFluteにも負けてられないしね!…

S2JDBC-Genでデータベースリファクタリング

このエントリでは、S2JDBC-Genを使って手軽にデータベースリファクタリングをする方法を紹介します。S2JDBC-Genは、Javaコード(S2JDBCのエンティティ)の修正をデータベーススキーマに反映させるツールです。 S2JDBC-Genの実行に必要な動作環境は、Eclipse…

Doltegn で SAStruts + S2JDBC + S2JDBC-Gen の Scaffold を実行する場合の注意点

Dolteng の Database View から Scaffold をする際ですが、Scaffold実行前にS2JDBC-Genでエンティティやサービスのクラスをあらかじめ作成しておいてください。 具体的には下のエントリで紹介した、「s2jdbc-gen-build.xml」のgen-entityターゲットを起動し…

S2Dao 1.0.49 リリース

リリースしました。 ダウンロードはこちらから。 http://s2dao.seasar.org/ja/ 1.0.48からの変更点はこちらを参照ください。 http://www.seasar.org/wiki/index.php?ChangeLog%2FS2DAO#lfb4162f

PostgreSQLのTEXT型はCLOBか否か? その2

PostgreSQLのTEXT型はCLOBか否か?のつづきです。PostgreSQLのJDBCドライバでは、CLOBをOID型(ラージオブジェクト)にマッピングしているのですが、文字としてではなくあくまでバイト列として格納しているということがわかりました。つまり、文字にたとえば…

PostgreSQLのTEXT型はCLOBか否か?

http://jfut.featia.net/diary/20081010.html#p01 の話です。コメントしたつもりだけど、反映されなかったので、一応こっちにも書いておきます。 公式のドキュメントでは情報が足りなくていろいろ探していたのですが、開発者のKris JurkaさんがCLOBはTEXT型…

S2JDBC-Gen 0.9.2 がリリースされました

0.9.1からの変更点はWikiに記載されているとおりです。 http://www.seasar.org/wiki/index.php?SeasarWhatsNew%2F2008-10-08#sf40abde ドキュメントにも書いていますが、改めて強調しておくと、S2JDBC-Genのコンセプトは「エンティティクラスの修正をデータ…

アクセッサーつきのエンティティを生成するには?

id:agtさんからの要望ですが、今のところ、テンプレートファイルを差し替える以外の方法はないです。優先度はちょっと低めになってしまいますが、将来的にはAntタスクでuseaccessor="true"のように指定できるようにしようと思います。アクセッサーを生成する…

CSVの扱い

ExcelってCSVの扱い長けているものだと思い込んでいましたが、使ってみると非常に使いにくいです。CSVを取り込むときにウィザードを実行しないといけなかったり、保存するときのダブルクォートの扱いを指定できなかったりなど。代わりにCSVエディタのCassava…

SeasarカンファレンスでS2JDBC-Genを紹介しました。

関係者の方、参加された方、おつかれさまでした。当日の資料は以下のサイトでダウンロードできます。デモが中心だったためページ数は少ないですが、ぜひご覧ください。 http://event.seasarfoundation.org/sc2008autumn/Session#a1会場で受けた質問やブログ…

S2JDBC-Genでテンプレートファイルを差し替えるには?

テンプレートを格納したディレクトリをtemplatefileprimarydir属性に指定します。 テンプレートファイルの名前はxxxtemplatefilename属性に指定します。(xxxのところはタスクで異なります)たとえば、gen-entityの場合こんな感じです。 <gen-entity rootpackagename="example" templatefileprimarydir="mydir" entitytemplatefilename="my-entity.ftl" classpathref="classpath" /> テンプレートファイ</gen-entity>…