Olá boa tarde, estou com o seguinte problema: Estou tentando retornar uma lista de objetos atraves do JSON porém ela esta vindo da seguinte forma:
{"list": [{"id_area": 1,"ds_area_name": "Area 1","ds_area_description": "Area 1","sectors": [true,-1,"com.domainww.model.Area.sectors",false]},{"id_area": 1,"ds_area_name": "Area 1","ds_area_description": "Area 1","sectors": [true,-1,"com.domainww.model.Area.sectors",false]},{"id_area": 1,"ds_area_name": "Area 1","ds_area_description": "Area 1","sectors": [true,-1,"com.domainww.model.Area.sectors",false]},{"id_area": 2,"ds_area_name": "Area 2","ds_area_description": "Area 2","sectors": [true,-1,"com.domainww.model.Area.sectors",false]},{"id_area": 3,"ds_area_name": "Area 3","ds_area_description": "Area 3","sectors": [true,-1,"com.domainww.model.Area.sectors",false]}]}
Eu gostaria que viesse o id_area e a Lista de Setores cadastrado para essa area.
Exemplo:
{"list": [{"id_area": 1,"listSector": [{"id_sector": 1,"ds_sector_name": "Sector 1","ds_sector_description": "Sector 1"},{"id_sector": 4,"ds_sector_name": "Area 1.1","ds_sector_description": "Area 1.1"},{"id_sector": 5,"ds_sector_name": "Area 1.2","ds_sector_description": "Area 1.2"}]},{"id_area": 2,"listSector": [{"id_sector": 2,"ds_sector_name": "Sector 2","ds_sector_description": "Sector 2"}]},{"id_area": 3,"listSector": [{"id_sector": 3,"ds_sector_name": "Sector 3","ds_sector_description": "Sector 3"}]}]}
Eu fiz das seguinte forma:
Mapeamento da Classe Area
@Entity
@Table(name = "tb_area")
public class Area {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id_area;
private String ds_area_name;
private String ds_area_description;
@OneToMany(mappedBy = "id_area", fetch = FetchType.EAGER)
List<Sector> sectors;
Mapeamento da classe Sector:
@Entity
@Table(name = "tb_sector")
public class Sector {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id_sector;
private String ds_sector_name;
private String ds_sector_description;
@ManyToOne
@JoinColumn(name = "id_area")
private Area id_area;
Metodo da classe Controller que me retorna o Json
@Get("areas/area.json")
public void listJson() {
result.use(json()).from(this.dao.listAll()).include("sectors")
.serialize();
}