У меня есть две таблицы обзора и Bedrijfsgegevens.Таблица обзора имеет первичный ключ (reviewId) и внешний ключ (bedrijfId).BedrijfId - это первичный ключ (как Id) в таблице Bedrijfsgegevens.Я столкнулся с этой проблемой, потому что я пытался добавить строку в таблицу обзора с идентификатором bedrijfId, которого нет в таблице Bedrijfgegevens и по праву получил исключение.
Я пытался использовать, я использовал аннотации @ManyToOne и @JoinColumn, чтобы предотвратить получение этого исключения.Тем не менее, я получаю исключение: «IllegalArgumentException: невозможно установить поле java.lang.Long org.loepr.loeprservices.models.Bedrijfsgegevens.id в значение java.lang.Long»
@Entity
@Data
@Table(name = "bedrijfreviews")
public class Review {
@ManyToOne(targetEntity = Bedrijfsgegevens.class)
@JoinColumn(name = "bedrijfid")
private Long bedrijfId;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JsonProperty("reviewId")
@Column(name = "reviewid")
private Long reviewId;
//other properties
}
@Entity
@Data
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Bedrijfsgegevens {
@Id
@JsonProperty("Id")
private Long id;
//other properties
}
Я ожидаю создать связь между первичным и внешним ключом в объектах JPA, чтобы при использовании bedrijfId (внешнего ключа), который не существует в качестве первичного ключа в таблице Bedrijfgegevens, я не получал исключение.