java - 如何遍历findby休眠两列中的数据并打印出所有值
问题描述
我有一个场景,我有一个查询,它通过拆分传递给案例的值来搜索数据,例如01840005
,它将它拆分为0184
and 0005
。然后我用它在数据库上搜索匹配两列结果的结果。
这就是我在存储库中的方式
public interface HSEC01X_Repository extends JpaRepository<HSEC01X, String> {
List<HSEC01X> findHSEC01XByHAAndHNUM(String hA, String hNUM);
}
这就是拆分后将其发送到存储库的方式。
public List<HSEC01X> getHouseHoldMembersByCase(String country, String id, String case) {
String ha = (case.substring(0, 4));
String hnum = (case.substring(4, 8));
List<HSEC01X> champs = hsec01X_repository.findHSEC01XByHAAndHNUM(ha, hnum);
return champs;
}
它正确获取数据并返回 9 个值。这就是我循环数据的方式。但由于某些奇怪的原因,它只打印第一个值 9 次,而不是打印所有不同的 9 个值。我究竟做错了什么?
public ArrayList<Summary> getHouseHoldRecordsByCase(String country, String id, String case) {
ArrayList<Summary> documents = new ArrayList<>();
Summary summary = new Summary();
ArrayList<ItemDetails> details;
summary = new Summary();
List<HSEC01X> members = reportService.getHouseHoldMembersByCase(country, id, case);
for (HSEC01X member : members) {
summary.recordType = "Member List";
summary.case = case;
summary.country = country;
summary.id = id;
details = new ArrayList<>();
Field[] fields = member.getClass().getDeclaredFields();
for (Field _f : fields) {
try {
String val = PropertyUtils.getProperty(member, _f.getName()).toString();
details.add(new ItemDetails(val, _f.getName(), val, _f.getName()));
} catch (Exception e) {
e.printStackTrace();
}
}
summary.itemDetails = details;
documents.add(summary);
}
return documents;
}
如何设置我的函数以打印出所有不同的值,而不是打印第一个值 x 次?
解决方案
推荐阅读
- spring - 原始类型的属性不允许使用“lateinit”修饰符 - Kotlin
- python - 在pycharm中使用anaconda(导入库报错,更新anaconda和虚拟环境)
- javascript - 刻度标签与轴标签重叠
- delphi - 有没有办法在 Firemonkey 中实现自下而上的事件通知?
- php - MAC , PHP:Failed to load resource: 服务器响应状态为 405 (Method Not Allowed)
- php - $wpdb -> get_col 返回重复的数组
- sql - 这段代码来自什么编程语言?
- c# - API 设计架构 - 反向网关?
- css - SASS:创建没有一种样式/属性的类的克隆
- nginx - Nginx infinite redirect using try_files