Я новичок в Spring и тестирую API на почтальоне, а Instructor_id не сохраняется. Вот как я тестирую его на почтальоне и не знаю, правильно ли это.
{
"coursename":"tesasdasdast",
"description":"tesdasdsadasting",
"userEntity":{
"instructor_id":1
}
}
Шаги:
У меня есть две сущности: UserEntity CourseEntity
У меня есть контроллер, в котором я сохраняю информацию: CourseController
У меня есть хранилище с именем CourseRepo, и я расширяю JpaRepository
В CourseEntity:
@ManyToOne
@JoinColumn(name = "instructor_id")
private UserEntity userEntity;
В UserEntity:
@OneToMany(mappedBy = "userEntity", cascade=CascadeType.ALL)
private List<CourseEntity> courseEntity;
В моем CourseController:
@PostMapping("/courses")
void addCourse(@RequestBody CourseEntity course) {
courseRepository.save(course);
}
Я добавил в свой pom.xml:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
</dependency>
Это сообщение об ошибке, которое яНахожусь в почтальоне:
{
"timestamp": "2019-10-10T16:51:47.780+0000",
"status": 500,
"error": "Internal Server Error",
"message": "org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing : com.finaly.projectback.entity.CourseEntity.userEntity -> com.finaly.projectback.entity.UserEntity; nested exception is java.lang.IllegalStateException: org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing : com.finaly.projectback.entity.CourseEntity.userEntity -> com.finaly.projectback.entity.UserEntity",
"path": "/project/courses"
}
И вот эти две таблицы в базе данных:
create table web_user(
id INT primary key auto_increment,
firstname VARCHAR(50),
lastname VARCHAR(50),
username VARCHAR(50),
email VARCHAR(50),
pwd VARCHAR(50),
user_role_id INT,
FOREIGN KEY (user_role_id) REFERENCES web_user_role(id)
);
CREATE TABLE web_course (
id INT PRIMARY KEY AUTO_INCREMENT,
coursename VARCHAR(50),
instructor_id INT,
FOREIGN KEY (instructor_id) REFERENCES web_user(id)
);
Заранее благодарю за любой совет.