もっとJPAのこと書いていかないとなぁということで@TableGeneratorを使ってみました。 TableGeneratorという単語を見るとテーブルを生成することを意味するかのように思えてしまうのですが、そうではなくてテーブルをつかって主キーを生成するためのものだったりします。PofEAAではそのようなテーブルをキーテーブルと呼ぶらしいです。 主キーの生成というとシーケンスとかAutoIncrementとか他の方法があったりするのですが、DBによっては使えない場合があります。このテーブルを使う方法はどのDBでも実行できます。あと、ちゃんと比較したわけではないのですがパフォーマンス的に期待できるかもという特徴もあったりします。 HibernateとTopLinkの両方で試してみました。 エンティティの定義と@TableGeneratorの指定 こんな感じ。 @Entity public