とという名前の2つのエンティティクラスがCustomer
ありActivity
ます。
Customer
customerId
、、ここではcustomerName
、関係によってマップされたそれぞれに対応するセットを保持します。activities
activities
Activity
Customer
@OneToMany(mappedBy = "customer")
クラスは次のCustomer
ように定義されています(わかりやすくするために、他のフィールドといくつかのゲッターとセッターを削除しました)。
@javax.persistence.Entity
@Table(name = "CUSTOMER")
public class Customer extends Entity {
private String customerId;
private String customerName;
private Set<Activity> activities;
@NaturalId
@Column(name = "CUSTOMER_ID", nullable = false)
public String getCustomerId() {
return customerId;
}
@Column(name = "CUSTOMER_NAME", nullable = false)
public String getCustomerName() {
return customerName;
}
@OneToMany(mappedBy = "customer", fetch = FetchType.LAZY)
@Cascade(CascadeType.SAVE_UPDATE)
public Set<Activity> getActivities() {
return activities;
}
}
Activity
、、がactivityId
あり、これはとの関係 によってマップされます。activityName
customer
customerId
@ManyToOne
Activity
クラスは次のように定義されます。
@javax.persistence.Entity
@Table(name = "ACTIVITY")
public class Activity extends Entity {
private String activityId;
private String activityName;
private Customer customer;
@NaturalId
@Column(name = "ACTIVITY_ID", nullable = false)
public String getActivityId() {
return activityId;
}
@Column(name = "ACTIVITY_NAME", nullable = false)
public String getActivityName() {
return activityName;
}
@ManyToOne
@JoinColumn(name = "CUSTOMER_ID", nullable = false)
public Customer getCustomer() {
return customer;
}
}
新しいを保存する前に、これをのセットにActivity
追加しています。Activity
activities
Customer
私は知りたいです:
activities
のはどこCustomer
に保存されていますか?- 両方のエンティティの更新および削除操作は互いにどのように影響しますか?
@OneToMany
それは創造と@ManyToOne
関係を築く正しい方法ですか?- に列名を追加できます
activities
か?
私はHibernateの初心者ですが、どのポインターも非常に役立ちます。
前もって感謝します。