0

私は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@JoinColumncountrycitycity

2)クラスにCountry countryフィールドを追加し、その上にフィールドを追加し、クラスにフィールドを追加して、その上に注釈を追加しますか? この場合、 、および結合テーブルの 3 つのテーブルがあります。Country@OneToMany(mappedBy='country')City cityCity@ManyToOnecountrycitycountry_city

4

1 に答える 1