人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

SeasarのS2DAOについて質問です。

Daoからinsert()した後に、インサートしたエンティティを取得することはできますでしょうか?

何がしたいかと言いますと、

Address address = addressDao.insert();
system.out.println(address.getId())

というふうに、自動生成されたIDを取得したいのです。

●質問者: nemutaiyo
●カテゴリ:コンピュータ インターネット
✍キーワード:Out s2dao Seasar 自動
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● newta
●35ポイント ベストアンサー

insertの呼び出しは引数にbeanをセットすると思うので

以下のようになるはずです。

Address address = new Address();

addressDao.insert(address);

system.out.println(address.getId());


http://s2dao.seasar.org/ja/s2dao.html#IDAutoGenerate

上記リンクの「IDの自動生成」の項目の一行目に

「自動生成された値をBeanに自動的に設定することが出来ます。」

とあります。


IDの自動生成が正しく設定されていれば、呼び出し時のbeanにセットされているはずです。

◎質問者からの返答

>insertの呼び出しは引数にbeanをセットすると思うので

すみません。間違えました。

>IDの自動生成が正しく設定されていれば、呼び出し時のbeanにセットされているはずです。

本当ですか!! 試してみます。ありがとうございます!


2 ● アクア
●35ポイント

IDの自動設定を正しく設定して下さい。

◎質問者からの返答

お二人ともありがとうございます。できました(泣)

@Id(value = IdType.IDENTITY)

private int id;

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ