java 순차적으로 다른값을 입력시키는 setter 형태.
List<Object[]> resultList = query.getResultList();
이런 형태로 결과값이 나오는 경우가 있다.
이 값을 responseDto형태의 클래스를 미리 선언해서 받는 경우
@Data public class CommonIdNameCntDto implements Serializable { @Min(0) private int cnt; @NotNull private Long id; @NotNull @Size(min = 1) private String name;
@Setter(AccessLevel.PRIVATE)
private int i = 0;
public void orderedSet(Object object){
switch (i){
case 0:
this.cnt = (int) object;
break;
case 1:
setId((Long) object);
break;
case 2:
setName((String) object);
break;
default:
throw new IllegalArgumentException("no more field");
}
}
i++; }
orderedSet형태로 선언을 해두면 그냥 세터선언해서 foreach로 받는다.