2012-03-18 7 views
0

おはようございます。データベース接続を使用してjpaエンティティを作成しようとすると、いくつかの例外が発生します。何も存在しないidについて。私はそれがテーブルのいくつかがプライマリキーを持っていないという事実と関係があると考えています。なぜなら、各エンティティを通過してプライマリキーを与えると、エラーがクリアされるからです。主キーを持たないテーブルでエンティティを作成するにはどうすればよいですか?私はwebsphere統合開発者(wid)btwを使用しています。jpa websphereエンティティIDが存在しないエラー

答えて

1

すべてのエンティティには、どのように動作するか、つまり仕様がどのように記述されているかを示すIDがあります。エンティティにマップするテーブルがデータベースにあり、テーブルにプライマリキーがない場合は、いくつかのオプションが用意されています。

  • 生成されたID(JPAまたはDBによって管理されます)をテーブルに追加します。その自由があればお勧めします。
  • テーブルの既存の列をエンティティIDとして使用します(IDが一意になるために必要な最小の番号を選択します)。
  • 組み合わせが理論上一意でない可能性がある場合でも、すべての列を使用してください(テーブル/ dbを台無しにするので、Java層でも注意してください)
  • ...

JPAとCompositeKeyを検索して、選択肢2と3を実行する方法についての情報をもっと簡単に見つけることができます。

幸運

+0

これは考えていませんでした。私はそれをやり遂げるかもしれない。ありがとう。 – SoftwareSavant

+0

おそらく埋め込み型を代わりに生成できますか? – SoftwareSavant

+0

エンティティの代わりに、または代わりにエンティティのIDとして? – esej

関連する問題