Hatena::Groupseasarproject

S2できるかな?

2013-03-06

JDKによって、S2JDBC-Genで作られるスキーマが違う件

昨日*1の続き。この状態って、

  1. JDK 7を使っている
  2. 基底クラスを作り、それを継承したエンティティクラスを使っている
  3. S2JDBC-Gengen-ddl を実行する

の三つの条件が揃わないと、こう言った困った状況に陥らないので、もしかして、この条件で開発している人、全然いないの…?、と不安に。

自分も、以前は、「DBMySQL Workbench等で変更」→「S2JDBC-Gengen-entity でエンティティを自動作成」って手順だったし、世間一般のS2ベースの開発手順が、そうなんじゃ…、と言う気になってきましたよ。*2

ただしい

  1. エンティティクラスを作成する
  2. AntGen-Ddlを実行しエンティティクラスに対応するCREATE TABLE文を作成する
  3. AntでMigrateを実行しCREATE TABLE文をDBに反映させる

先にエンティティクラスを作成するという点が超重要です。

新しいテーブルの作成 - taediumの日記

*1g:seasarproject:id:halflite:20130305

*2:新規開発と言っても、古いDBをそのまま引き継いで、Webアプリ化、みたいな案件も多いと聞きます。

トラックバック - http://seasarproject.g.hatena.ne.jp/halflite/20130306