Я пытаюсь отобразить следующую таблицуJPA Hibernate - Отображение MySQL Композитные ключи к JPA (Hibernate) субъектам
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.
Вы можете посмотреть здесь: [stackoverflow] [1]: http://stackoverflow.com/questions/9764204/how-to-create-a-composite-primary-key-hibernate-jpa/9765674#9765674 – Andrey