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


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

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

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

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

回答の条件
  • 1人10回まで
  • 登録:2010/02/10 14:03:09
  • 終了:2010/02/11 15:17:24

ベストアンサー

id:newta No.1

newta回答回数68ベストアンサー獲得回数72010/02/10 15:54:04

ポイント35pt

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にセットされているはずです。

id:nemutaiyo

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

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

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

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

2010/02/10 16:49:21

その他の回答(1件)

id:newta No.1

newta回答回数68ベストアンサー獲得回数72010/02/10 15:54:04ここでベストアンサー

ポイント35pt

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にセットされているはずです。

id:nemutaiyo

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

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

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

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

2010/02/10 16:49:21
id:qawsedrf09 No.2

アクア回答回数41ベストアンサー獲得回数02010/02/10 17:57:27

ポイント35pt

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

id:nemutaiyo

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

@Id(value = IdType.IDENTITY)

private int id;

2010/02/11 15:16:59

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません