Я использую Springboot с JPA для создания REST API. Я хочу получить все данные от студента и совпадающие строки с адреса, если он есть.
Ниже мой сервисРеализация
EntityManager entityManager = entityManagerFactory.createEntityManager();
query = entityManager.createQuery("select s , a from Student s " +
" left join Address a " +
" on s.id = a.student ")
@SuppressWarnings("unchecked")
List<Object> list = query.getResultList();
ниже представлена моя студенческая организация
@Entity
class Student{
private int id,
private String name,
@ManyToOne(optional = false)
@NotNull
@JsonIgnoreProperties(value = "student", allowSetters = true)
private User user; // User another entity
--- getter and setter --
}
ниже показан мой адрес
class Address{
private int id;
private String addressLine;
@ManyToOne(optional = true)
@JsonIgnoreProperties(value = "address", allowSetters = true)
private Student student;
--- getter and setter --
}
Таким образом, он вернет все совпадающие строки с атрибутами отношений, как показано ниже.
[{
id :1,
name: "qwert",
user:{
id: 1,
createdBy:1
createdOn:2021-08-21
}
}
{
id: 1,
addressLine:"kkkkk",
student{
id :1,
name: "qwert",
user{
id: 1,
createdBy:1
createdOn:2021-08-21
}}}]
**I want output be like below**
[
{
id :1,
name: "qwert",
user:{
id: 1
}},
{
id: 1,
addressLine:"kkkkk"
}]
Как мы можем этого добиться? Я пытался использовать POJO, но не смог этого добиться. Я новичок в Springboot и JPA. Может ли быть другой способ получить данные от несвязанных сущностей и вернуть POJO с определенными полями.