Я пытаюсь создать таблицу HTML на основе данных JSON.Должно быть так:
Пояснение (с JHipster - Angular 2):
Файл :имеет связь с @OneToMany с таблицей
таблица : имеет связь с @OneToMany с полем и связь с @ManyToOne с файлом
(т. е. таблица является дочерней по отношению к файлу)
Поле : имеет связь @ManyToOne с таблицей (т. Е. Поле является дочерним элементом таблицы)
Между таблицей и полем существует класс группы с @ManyToOneсвязывание с таблицей (т. е. группа является дочерней по отношению к таблице), но необязательна для поля, т. е. поля могут быть частью группы или нет.
Я пытался получить все файлы, используя метод «запрос», созданный присоздать сущность с JHipster.Но он возвращает null в таблице, т. Е. Не печатает дочерние элементы:
Файлы: [{"id": 1001, "version": "0009", "name": "FILE A", "tables": null}]
Итак, в File.java я изменил на:
@OneToMany(mappedBy = "file", fetch = FetchType.EAGER) // I've added Eager loading
private Set<Table> tables = new HashSet<>();
А в Table.java я изменил на:
@OneToMany(mappedBy = "table", fetch = FetchType.EAGER) // I've added Eager loading
private Set<Field> fields = new HashSet<>();
Но сбой Java при попытке загрузить все файлы таким образом, возможно, он находится в бесконечном цикле печати.
Как мне получить JSON со всеми файлами и его дочерними элементами (таблица), а также детскими таблицами (группами)и поля), а дети группы (поля)?Примерно так:
Files: [
{
"id": 1001,
"name": "File A",
"tables": [
{
"id": 2001,
"name": "Table A1",
"fields": [
{
"id": 4000,
"name": "File f0"
}
],
"groups": [
{
"id": 3001,
"name": "Group G",
"files": [
{
"id": 4001,
"name": "File F1"
},
{
"id": 4002,
"name": "File f2"
}
]
}
]
}
]
}
]