skillup

技術ブログ

Database Java

JPAでの多対多のリレーション

投稿日:

以前、このエントリーでJPAのリレーションについて説明しました。

今回は多対多について説明します。

テーブル構成

CDとアーティストが多対多で紐づているとします。

ER図で下記のようになっているとします。

sample

ソース

CDのエンティティ

Artistのエンティティ

この場合Artist側が所有者になり、被所有者側のCdにはmappedByが付加されます。

両方にmappedByを書くと適切な結果が得られないようです。

データベースにアクセスするソース

Mainのソース

参考図書

Beginning Java EE 6~GlassFish 3で始めるエンタープライズJava

http://www.amazon.co.jp/dp/4798124605

この本のP108~112を参考にしました。

-Database, Java
-,

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

関連記事

no image

テーブル設計に関するメリデメ

昨日も書いた記事なんですが、基本的に実装にしても設計にしてもこれが最強っていう手法はなくて(あったとしたら全員がそれを使うのでそもそも選択肢という概念がなくなる・・)メリットデメリットをしっかりと考慮 …

no image

設定ファイルの置き場所

一般的にレベルの高いソースとは保守性が高いものを指します。特にWEB系ですと仕様変更がしょっちゅうなので変更があったときにいかに少ない工数で対応できるかが大切です。 保守性をあげる工夫はいろいろありま …

no image

DBの構造について メモリとHDD

データベースについてまたまた学習中。 覚えておきたいポイントなど。 データを収めておくべき媒体では「記憶コスト(単位金額当たりの容量)」と「アクセス速度」の2つが重要なパラメータ メモリとHDDでは前 …

no image

persistence.xmlのプロパティについて

JavaEEではデータベースとの設定情報はpersistence.xmlに記述します。 (ユーザー名、パスワード、ポート、driver名、データベース名などの情報はglassfish-resource …

no image

Streamでの特定条件化のカウント&合計値算出

Java8、streamで値を抽出し、カウントと合計値の算出について、小ネタです。 一番多いのがList<Map>タイプの値の検出です。 [crayon-66286113879431333 …

アーカイブ