S2JDBC-Gen
http://seasarproject.g.hatena.ne.jp/halflite/20130305/s2jdbcgen3 コメントできないのでトラックバックで。元の並びに依存したComparatorがダメらしいですね。対応版のコードおいておきます。 https://gist.github.com/nakamura-to/5096537 とりあえずは…
Entity Framework 4でコード・ファースト開発が注目を集めているとかいないとか。 S2JDBC-Genでも「コードファースト」実現できます、.NETじゃなくてJavaですが。
解決方法をまとめてくれた方がいます。 Eclipse 3.6 + Ant + S2JDBC-Gen 文字化け、コンソール停止 私のほうでも試してみてうまくいったらドキュメントに反映させたいと思います。
WindowsのEclipse3.5のAntなんですが、実行するAntタスクが日本語をログ出力していると、コンソール出力が行われません。Eclipseのエンコーディングの問題なんですよ。だれか解決して〜。現時点では、Eclipse3.5のAntからS2JDBC-GenのAntタスクをうまく動か…
たけぞうさんからリクエストがあったNamesクラスとSqlFilesクラスに対応しました。次のバージョン(2.4.40)に入ります。 Namesクラスは、Gen-Namesタスクを実行すれば自動で作られるようにしました(生成しないことも可)。 SqlFilesクラスは、こんなantタ…
S2JDBC-Gen 2.4.34 が含まれているDolteng 0.35.0 がリリースされました!DoltengのインストールからS2JDBC-Genを実際に使うまでの一連の手順は、S2JDBC-Genでデータベースリファクタリングに以前書いたので、ぜひ試してもらえればと思います。このエントリ…
これまで、0.9.xというバージョンでベータ版扱いでしたが、先日のリリースよりSeasar2本体のバージョンに合わせ正式版(2.4.34)としてリリースしました。ブログやMLなどでいろんな方からフィードバックをいただき、面白いものができたんじゃないかと思って…
S2JDBC-Genで、たまに勘違いされてしまうのは、新しいテーブルを作成するときです。 まちがい CREATE TABLE文を作成する CREATE TABLE文を実行しテーブルをDB上に作成する AntでGen-Entityを実行しテーブルに対応するエンティティクラスを作成する テーブル…
これまで、S2JDBC-GenのGen-Entityタスクは、日付型のカラムに対するプロパティは@Temporalつきのjava.util.Date型であるものとしてコードを生成してきました。こんな感じ。 import java.util.Date; ... @Entity public class Foo { /** idプロパティ */ …
S2JDBC-Genで、同じテーブルにマッピングされた別エンティティがあったらマージしてひとつDDLを生成しているよと今日しゃべっちゃいましたけど、コードみるとやっていませんでした。。。 当初、考えたけど、テーブルとエンティティは1対1というシンプルなの…
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…
[Seasar-user:16411] [S2JDBC-Gen] 外部キー生成DDLで制約オプションが反映されない の件です。S2JDBCの次バージョンで導入されるReferentialConstraintアノテーションで対応するのはどうでしょうか。対応するとしたらこんな感じになります。 @Entity public…
追記 影響を受けるのは2箇所ではなく3箇所でした。 10gや11gで発生することがわかっています。どいうことかというと、 java.sql.DatabaseMetaData metaData = ... metaData.getIndexInfo(null, "schema", "あいうえお", true, false); // 3番目のパラメータ…
追記 (※)小林さんに「外部キー」と「外部キー制約」は意味が違うよねという指摘を受けたのでちょっと全体的に言葉を置き換えてみました。 Gen-Ddlで外部キー生成を抑制するアイデアのつづきです。いろいろアイデアがでて練った結果、次の2つの機能を提供する…
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ターゲットを起動し…
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…
テンプレートを格納したディレクトリをtemplatefileprimarydir属性に指定します。 テンプレートファイルの名前はxxxtemplatefilename属性に指定します。(xxxのところはタスクで異なります)たとえば、gen-entityの場合こんな感じです。 <gen-entity rootpackagename="example" templatefileprimarydir="mydir" entitytemplatefilename="my-entity.ftl" classpathref="classpath" /> テンプレートファイ</gen-entity>…
下のエントリに関連するのでついでに。 <gen-entity rootpackagename="example" templatefileprimarydir="mydir" classpathref="classpath" /> temptemplatefileprimarydirを指定して、そのディレクトリにcopyright.ftlという名前でコピーライトの記述をしておくとファイルの生成時に含まれるようになります。</gen-entity>