S2JDBCをいじってっみて

ちょろっといじってみましたが、ちょー面倒くさいです。

テーブル定義をエンティティに確実に反映しなきゃいけない。
エンティティがアノテーションの嵐になる。
自動生成したエンティティに@GeneratedValueがついちゃう。
(これはどうにかできる?)
joinとかすると1ステップがちょー長くなっちゃう。
etc...

ちょろっといじってみて一瞬ハマったとこ。
PRIMARY KEYを変更したらentityの@Id変更してなかったせいで思った通りの結果が得られなかった。

@GeneratedValue(strategy = GenerationType.TABLE)って定義すると
create table ID_GENERATOR {
PK varchar(80) not null primary key,
VALUE integer);
ってテーブル用意しなきゃいけない。

こんなん別に生産性も品質も上がりません。メンドイ & 勝手にやるから原因つきとめんのにスゲー時間かかった。

個人的にはS2Daoのがいい。

1 コメント:

Unknown

2008年11月1日 6:00  

> テーブル定義をエンティティに確実に反映しなきゃいけない。

そのために S2JDBC-Gen や DBFlute for S2JDBC,DBViewerExtention For S2JDBC などがあります.Rails のようなわけにはいきませんが,S2Dao とは同等じゃないでしょうか.

> 自動生成したエンティティに@GeneratedValueがついちゃう。

Dolteng で作成したプロジェクトのサンプル DB なんかだと,ID カラムが IDENTITY になっているので,それに合わせて @GeneratedValue が付きます.IDENTITY でなければ付けられません.

> joinとかすると1ステップがちょー長くなっちゃう。

こちらを参考にどうぞ.
http://d.hatena.ne.jp/higayasuo/20081021/1224565637