2016-08-01から1ヶ月間の記事一覧

Lazy/Eager Fetch

データベースへのクエリのタイミングを定義するとき、大きく分けて2つ方式がある。 Lazy Fetch:関連するコレクションをDBから呼びこまない。Persistentオブジェクトにコレクションを取得するメソッドが呼ばれたときにSQLを発行してDBからレコードを読み込…

1対多

1対多については、単方向・双方向・JoinTableの3つの方式がある。 □単方向 OrdersオブジェクトからProductオブジェクトに対してのみアクセスする状態 public class Orders implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO)…

Cascade

カスケードは、関連しあうEntityに対して行われた処理を伝播させることができる。 例えば、単方向の1対1を考えるとき、オブジェクト上でCategoryインスタンスを保存した場合は、関連するSubCategoryのインスタンスの保存が自動で行われる。 □PERSIST処理 pub…

結合テーブルの自動生成

Hibernateでの結合テーブルの自動生成 @JoinTable(name = "category_subcategory", joinColumns = @JoinColumn(name = "category_id"), inverseJoinColumns = @JoinColumn(name = "subcategory_id")) private SubCategory subCategory; joinColumns:所有者…