У меня есть вариант использования, такой как:
Я хочу знать, возможно ли преобразовать JSON, полученный непосредственно, в объект JPA, который затем можно сохранить, передав его методу репозитория
Например, следующий JSON:
{
"studentName": "Tom",
"subjects": [
{
"subjectName": "Maths",
"marks": 25
},
{
"subjectName": "Science",
"marks": 25
}
]
}
В описанной выше ситуации Студент и Субъект - это сущности, имеющие отношения между многими ко многим ... Примерно следующие сущности JPA могут бытьсоздан для этой ситуации:
public class Student {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private int studentId;
private String studentName;
@OneToMany(mappedBy = "student", cascade = CascadeType.ALL)
private Set<StudentSubject> studentSubject = new HashSet<>();
}
public class Subject {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
private int subjectId;
private String subjectName;
@OneToMany(mappedBy = "subject")
private List<StudentSubjectMark> studentSubjectMarks = new ArrayList<>();
}
public class StudentSubjectMark implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE)
int studentSubjectMarkId;
@ManyToOne
@JoinColumn
Student student;
@ManyToOne
@JoinColumn
Subject subject;
private int marks;
@Override
public boolean equals(Object o) {
return false; // template code
}
@Override
public int hashCode() {
return 1; // template code
}
}
Каков наилучший способ обработки этого JSON для вывода объекта JPA ученика?
Должен ли я зацикливать обработку каждого поля в исходном JSON отдельно для построенияfinal Entity или есть библиотека, которую я мог бы использовать?
Помните, что формат JSON и классы могут быть изменены при необходимости.
Спасибо