hibernate查询多个字段时返回的List包含Object[],每个Object对象里有3个double类型元素,如何将object对象和其中的数据转换成自己定义的集合类型
时间: 2024-11-12 11:35:19 浏览: 9
hibernate criteria 分组 排序 关联
5星 · 资源好评率100%
当你从Hibernate(JPA)查询中获得的`List<Object[]>`结果中,每个`Object[]`实际上包含了三个`Double`类型的元素,要将这些数据转换到自定义的集合类型,可以按照以下步骤操作:
1. 首先,创建一个类来表示查询结果中每个元素的数据结构。假设这个类叫`MyCustomClass`,它有三个`Double`属性对应查询的三个字段。
```java
public class MyCustomClass {
private Double field1;
private Double field2;
private Double field3;
// 构造器、getter和setter省略
}
```
2. 使用Java 8的流(Stream) API来遍历并转换这些`Object[]`,将它们转换为`MyCustomClass`实例并收集到一个新的列表中。这样,你可以避免直接操作数组。
```java
List<MyCustomClass> customList = result.stream()
.map(array -> {
MyCustomClass obj = new MyCustomClass();
obj.setField1((Double) array[0]);
obj.setField2((Double) array[1]);
obj.setField3((Double) array[2]);
return obj;
})
.collect(Collectors.toList());
```
这样,你就得到了一个`List<MyCustomClass>`,其中包含了与原始查询结果对应的自定义对象。
阅读全文