[Seasar-user:16955] Re: [s2jdbc]プライマリキーが無くユニークキーのみが存在するEntityの削除について
山田 祐己
[E-MAIL ADDRESS DELETED]
2009年 2月 19日 (木) 18:30:02 JST
小林様
お世話になります。山田です。
> 不可です.
>
やはりそうですか。
> そんな場合こそ自動生成とか書いてみるテスト.
> 大抵,パラメータ Dto はエンティティがそのまま
> 使えるんじゃないかと.
>
確かに、パラメータ Dto はエンティティそのまま使用できそうですし、
自動生成すれば、それほどの負担にはならないですね。
無精で恐縮です。
じつは今回、はじめてDoltengのプロジェクトを作成して、s2jdbc-genで
エンティティを生成したのですが、エンティティ以外にも、サービスクラスが
出来るじゃないですか。
そこで、サービスクラスのAbstractに以下のメソッドを追加したのです。
public final void delete(final SimpleWhere simpleWhere) throws Exception {
List<T> list = select().where(simpleWhere).getResultList();
for (T t : list) {
delete(t);
}
}
この方法で、プライマリキーの付いているエンティティは、
simpleWhereだけ作成して渡せば、可変の条件でも一括削除が出来るので
ユニークキーのみのエンティティでもこれで、出来ればと思った次第でした。
実際、対象エンティティの半分位は、この方法で手が抜けましたので、
残り半分は、updateBySqlFileで挑戦してみます。
> っていうか,そんなに多くのテーブルで主キーが
> ない (キーに null を許容する) のでしょうか?
> そっちの方が大問題だと思いますが,きっとどうにも
> ならないのでしょうね.
>
仰るとおりです(苦笑)
過去の資産のマイグレーションに関わると、皆さん、
きっと同様の苦労をされているのでしょうね。
有難うございます。
山田 祐己(Yuki Yamada)
E-Mail [E-MAIL ADDRESS DELETED]
Seasar-user メーリングリストの案内