我面临以下问题。我有一个 java 对象树,我必须将每个字段值导出到 CSV 文件中。导出的结果必须类似于我们在 SQL 左外连接(称为笛卡尔积)中的结果。
班级作者
@DataField(pos = 1)
String firstName;
@DataField(pos = 2)
String lastName;
@OneToMany
List<Book> books;
@OneToMany
List<Editor> editors;
@DataField(pos = 7)
String Age;
课本
@DataField(pos = 3)
String title;
@DataField(pos = 4)
String year;
@OneToMany
List<Reference> references;
类参考
@DataField(pos = 5)
String type;
@DataField(pos = 6)
String code;
类编辑器
@DataField(pos = 8)
String name;
备注: - @DataField 注释指示值在 CSV 记录中的位置 - 对于此示例,我们有一个对象 Author (Charles, Moulliard),其中包含 2 本书的列表(“Camel in action”和“Camel in action 2”) . 第一本书有三个参考(ISBN 1234、ISBN 5678、ISBN 999)和第二个参考(ISBB 1111)。作者还包含两个编辑的列表(“manning”、“manning 2”)
这是一个例子和想要的结果
"firstName","lastName","age","title","year","type","code","name" "charles","moulliard","camel in action","2009"," ISBN","1234","manning","43" "charles","moulliard","camel in action","2009","ISBN","1234","manning 2","43" "charles ","moulliard","camel in action","2009","ISBN","5678","manning","43" "charles","moulliard","camel in action","2009"," ISBN","5678","manning 2","43""charles","moulliard","骆驼在行动","2009","ISBN","9999","manning","43","charles","moulliard","camel in action","2009","ISBN","9999","manning 2","43"" charles","moulliard","骆驼在行动 2","2011","ISBB","1111","manning","43" "charles","moulliard","骆驼在行动 2","2011 ","ISBB","1111","曼宁 2","43""ISBB","1111","manning","43" "charles","moulliard","骆驼在行动 2","2011","ISBB","1111","manning 2","43""ISBB","1111","manning","43" "charles","moulliard","骆驼在行动 2","2011","ISBB","1111","manning 2","43"
我尝试使用递归函数将字段值放入 LinkedList 的 Map 中: Map where Integer = CSV 中字段的位置和 Linkedlist = 对象列表,但我丢失了有关元素在树中位置的信息。
问候,
查尔斯