У меня проблема, когда я использую функцию JPA «Создать таблицы из сущностей» в затмении.Мне удалось сделать все сопоставления ORM для моего проекта, но есть только один, который доставляет мне проблемы.
Консоль говорит следующее:
Внутреннее исключение: java.sql.SQLSyntaxErrorException: «OFFER_ID» не является столбцом в таблице или VTI «COMMENT».Код ошибки: -1
Это изображение того, как должны выглядеть таблицы:
- В одном предложении много комментариев
-Один комментарий принадлежит одному предложению ...
Вот как выглядят сущности: Комментарий сущности:
@Entity
public class Comment {
// Attributes
@Id
@GeneratedValue
@Column(nullable = false)
private Long id;
...
@ManyToOne
@JoinColumn(name = "OFFER_ID", nullable = false)
private Offer offer;// One comment must belong to one offer
...Getters and setters
Предложение сущности:
@Entity
public class Offer {
//...Other attributes
@OneToMany(mappedBy = "offer")
private List<Coupon> coupons;//One offer can have many coupons
@OneToMany(mappedBy = "offer")
private List<Comment> comments; //One offer can have many comments
... getters and setters
В классе «Преднамеренно» я вставил отношение, которое классовое предложение имеет, с другим классом, называемым купонами, как вы видите, оно точно такое же, как и предложение, которое должно быть в классе «Комментарий».
Так в чем же проблема?
Почему одна связь отображается, а другая нет?
Почему новая созданная таблица в базе данных COMMENT не имеет столбца с именем OFFER_ID?
Как я могу это исправить?