私は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 つしかありません。これらのエンティティを関連付ける最良の方法は何ですか?
1)クラスにCity city
フィールドを追加し、その上に注釈を追加しますか? その結果、との 2 つのテーブルが作成されます。テーブルには country_id 列があります。City
@ManyToOne
@JoinColumn
country
city
city
2)クラスにCountry country
フィールドを追加し、その上にフィールドを追加し、クラスにフィールドを追加して、その上に注釈を追加しますか? この場合、 、および結合テーブルの 3 つのテーブルがあります。Country
@OneToMany(mappedBy='country')
City city
City
@ManyToOne
country
city
country_city