Исходя из этого вопроса. (Я использую Hibernate 4.)
Как предложено в одном из ответов, я попытался использовать подход FeedbackDto-Feedback.
Внутри моего RequestsController.java
У меня есть это:
@PostMapping("/feedback")
public void postFeedback(@RequestBody FeedbackDto feedbackDto) {
Feedback feedback = new Feedback(new Product(feedbackDto.getProductId()), feedbackDto.getScore(), feedbackDto.isPreferred(), feedbackDto.getTextNote());
Session session = HibernateUtil.getSessionFactory().openSession();
session.save(feedback);
session.flush();
session.close();
}
Если я пытаюсь напечатать содержимое feedback
и feedbackDto
, я получаю то, что ожидал, но при выполнении save()
и flush()
я не получаю данных, вставленных в базу данных. Почему?
Вывод из hibernate:
Hibernate:
insert
into
feedback
(preferred, score, textnote, product)
values
(?, ?, ?, ?)
Вот оператор create, который я использовал для создания таблицы обратной связи:
CREATE TABLE feedback(
product INTEGER PRIMARY KEY,
score NUMERIC,
preferred INTEGER,
textnote VARCHAR(255),
FOREIGN KEY(product) REFERENCES product(id)
)