我使用Hibernate,我有實體:多對一和一對多
@Data
@Entity
public class Country {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private long id;
@Column(name = "country_nm")
private String countryName;
}
@Data
@Entity
public class City {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private long id;
@Column(name = "city_nm")
private String cityName;
}
國家可以有許多城市,城市只有一個國家。 關聯這些實體的最佳方式是什麼?
1)在City
類中添加City city
字段,並在其上添加@ManyToOne
和@JoinColumn
偏移量?因此我們將有兩個表:country
和city
,city
表中將有country_id列。
2)添加Country country
字段中Country
類和@OneToMany(mappedBy='country')
它上面和City
類添加City city
字段並添加上面@ManyToOne
anotations?在這種情況下,將有三個表:country
,city
並結合表country_city
沒有「最佳」方式。這一切都取決於你想要和需要什麼。然而,你描述的兩種方法是不正確的,你對雙向關聯映射的理解是錯誤的。閱讀hibernate手冊。 –
謝謝,我在做 – ru51an