0

我有两张桌子,个人和国家。

Country 是包含所有国家/地区的表格,例如“Singapore”、“America”。而 person 是一个包含所有用户的表,存储他们的姓名和居住国家等。

数据库表如下所示:

person
person_id int PK
name varchar(20)
country_id int FK

country
country_id int PK
country varchar(20)

我试图想出一个看起来像这样的类图: 但是,我不清楚我应该为 Person 类中的变量 Country 指示什么关系。

@Entity
@Table(name=person)
class Person{
    @Id
    @Column(name="person_id")
    @GeneratedValue(strategy=GeneratedType.IDENTITY)
    private int personId;

    @Column(name="name")
    private String name;

    @ ?
    private Country country;

    // Accessor and Mutator
}

@Entity
@Table(name=country)
private Country{
    @Id
    @Column(name=country_id)
    @GeneratedValue(strategy=GeneratedType.IDENTITY)
    private int countryId;

    @Column(name="country")
    private String country;

    // Accessor and Mutator
}
4

1 回答 1

0

Person 应包含 Country 的外键。

这创造了一个人属于一个(居住)国家的关系,而一个国家(当然)可以有更多的人属于它。这称为多对一关系(如果从国家/地区来看)。

于 2013-08-24T06:06:16.583 回答