Я пытаюсь сопоставить следующую таблицу
CREATE TABLE Person (
p_id varchar(255) not null,
p_name varchar(255 not null,
p_post_code varchar(12) not null,
primary key (p_id, p_name),
);
Обычно, когда я сопоставляю сущность с таблицей выше, я делаю что-то вроде этого (для первичных ключей с одним столбцом):
private int p_id;
private String p_name;
private String p_post_code;
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="p_id")
public Long getPId() {
return p_id;
}
public void setPId(int p_id) {
this.p_id = p_id;
}
@Column(name="p_name")
public String getPname() {
return p_name;
}
public void setPname(String string) {
this.p_name = string;
}
@Column(name="p_post_code")
public String getPostCode() {
return p_post_code;
}
public void setPostCode(String string) {
this.p_post_code = string;
}
Вышеуказанное работает, если первичный ключ представляет собой один столбец (т.е. p_id) и значение для этого столбца создается в базе данных.
Как бы я изменил вышеупомянутое, чтобы отобразить это так, чтобы и p_id и p_name были первичным ключом.
Кроме того, как это будет работать, если составной ключ является внешним ключом в другой таблице.
Я пытаюсь найти несколько примеров в Google, но не могу найти простой пример, и большинство, похоже, использует конфигурацию на основе XML.