У меня есть эти две таблицы в моей базе данных.
Я заполняю пример данных, содержащих эти таблицы.
Пользователь таблицы
Здесь идентификатор столбца — это PK, а столбец state_id — это FK из состояния таблицы со ссылкой на идентификатор столбца
id
name
state_id
33
Джон Доу
1
Состояние таблицы
Здесь идентификатор столбца и столетие являются первичными ключами таблицы
id
Century
label
1
21
1
Я хочу смоделировать эти две таблицы как объекты JPA, поэтому я сделал это вот так :
StatePK.java:
Код: Выделить всё
public class StatePK implements Serializable {
private Long id;
private Integer century;
}
Код: Выделить всё
@Entity
@Table(name = "state")
@IdClass(StatePK.class)
public class State {
@Id
private Long id;
@Id
private Integer century;
private String label;
}
Код: Выделить всё
@Entity
@Table(name = "user")
public class User implements Serializable {
@Id
private Long id;
private String name;
@ManyToOne
@JoinColumn(name = "state_id")
private State state;
}
Ошибка при создании bean-компонента с именем 'entityManagerFactory', определенным в классе
path resources
[org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]:
Ассоциация, нацеленная на объект
'fr..infrastructure.provider.jpa.model.State' из объекта
'fr.infrastructure.provider.jpa.model.User', имеет 1 '@JoinColumn, но
первичный ключ имеет 2 столбца"
Может кто-нибудь помочь мне с этой проблемой, пожалуйста?
Подробнее здесь: https://stackoverflow.com/questions/797 ... wo-is-used
Мобильная версия