Jpa — таблица соединений, содержащая 2 ПК, но используется только один из этих двух.JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Jpa — таблица соединений, содержащая 2 ПК, но используется только один из этих двух.

Сообщение Anonymous »

Я запускаю приложение Spring Boot.
У меня есть эти две таблицы в моей базе данных.
Я заполняю пример данных, содержащих эти таблицы.
Пользователь таблицы
Здесь идентификатор столбца — это 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;
}
State.java:

Код: Выделить всё

@Entity
@Table(name = "state")
@IdClass(StatePK.class)
public class State {

@Id
private Long id;

@Id
private Integer century;

private String label;
}
Пользователь.java:

Код: Выделить всё

@Entity
@Table(name = "user")
public class User implements Serializable {

@Id
private Long id;

private String name;

@ManyToOne
@JoinColumn(name = "state_id")
private State state;
}
Но когда я компилирую с Maven, все в порядке, но когда я запускаю свое приложение, у меня возникает эта ошибка:

Ошибка при создании 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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»