从两个表中获取数据并将其传递给列表 - hibernate 和 spring
fetching data from two tables and pass it to a list - hibernate and spring
我想使用休眠从两个表中获取数据并将结果连接到一个列表中。我已经在这上面好几天了,但似乎没有头绪。这是返回列表的两个表的片段。
List<Records> rec = recService.getAllRecords();
List<Data> rec2 = dataService.getAllDataRecords();
我目前的挑战是将两个搜索结果传递到一个列表中。非常感谢任何帮助和想法。请协助
已编辑
List<Object> combined = new ArrayList<>();
combined.addAll(rec);
combined.addAll(rec2);
for (Object string : combined) {
//I am getting error below in calling methods from the combined arraylist
returnMatchName.add(string.getFirstname() + " " + string.getLastname() );
第一种方法:
如果两个表彼此相关(即外键),那么您可以在 LINQ 查询中使用连接。
第二种方法:
创建新列表,并通过将其强制转换为通用 class 并添加到新创建的列表来逐一创建。
您可以通过多种方式完成此操作。如果 Records
和 Data
共享一个公共接口,比如 Record
,那么这将起作用。
java 8:
List<Record> combined = Stream.concat(rec.stream(), rec2.stream()).collect(Collectors.toList());
java 7岁及以下:
List<Record> combined = new ArrayList<>();
combined.addAll(rec);
combined.addAll(rec2);
如果他们不实现通用接口,您的List
将必须是对象列表
我想使用休眠从两个表中获取数据并将结果连接到一个列表中。我已经在这上面好几天了,但似乎没有头绪。这是返回列表的两个表的片段。
List<Records> rec = recService.getAllRecords();
List<Data> rec2 = dataService.getAllDataRecords();
我目前的挑战是将两个搜索结果传递到一个列表中。非常感谢任何帮助和想法。请协助
已编辑
List<Object> combined = new ArrayList<>();
combined.addAll(rec);
combined.addAll(rec2);
for (Object string : combined) {
//I am getting error below in calling methods from the combined arraylist
returnMatchName.add(string.getFirstname() + " " + string.getLastname() );
第一种方法: 如果两个表彼此相关(即外键),那么您可以在 LINQ 查询中使用连接。
第二种方法: 创建新列表,并通过将其强制转换为通用 class 并添加到新创建的列表来逐一创建。
您可以通过多种方式完成此操作。如果 Records
和 Data
共享一个公共接口,比如 Record
,那么这将起作用。
java 8:
List<Record> combined = Stream.concat(rec.stream(), rec2.stream()).collect(Collectors.toList());
java 7岁及以下:
List<Record> combined = new ArrayList<>();
combined.addAll(rec);
combined.addAll(rec2);
如果他们不实现通用接口,您的List
将必须是对象列表