Сохраните объект сущности с внешним ключом, используя CrudRepository.JAVA

Программисты JAVA общаются здесь
Anonymous
Сохраните объект сущности с внешним ключом, используя CrudRepository.

Сообщение Anonymous »

У меня есть два класса сущностей со связью @ManyToOne, как показано ниже.

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

@Entity
public class Student {

@Id
private Integer studentId;

@Column(nullable = false)
private String studentName;

@ManyToOne(targetEntity = School.class, fetch = FetchType.LAZY, optional = false)
@JoinColumn(referencedColumnName = "schoolId", insertable = false, updatable = false)
private School school;

//Getters and Setters methods
.

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

@Entity
public class School {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer schoolId;

@Column(nullable = false)
private String schoolName;

//Getters and Setters methods
Когда я пытаюсь сохранить объект учащегося, используя метод CrudRepository по умолчанию StudentRepository.save(student) с полезной нагрузкой JSON, выдается ошибка java.sql.SQLException: поле «school_id» не имеет значения по умолчанию. Когда я запускаю режим отладки, я вижу, что объект School настроен правильно.

Моя полезная нагрузка JSON выглядит следующим образом:

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

[
{
"studentId": "2015020",
"studentName": "ABC",
"school": {
"schoolId": 1
}
}
]
Я новичок в Spring Data JPA, поэтому это может быть очень серьезной ошибкой.

Подробнее здесь: https://stackoverflow.com/questions/430 ... repository

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