java 순차적으로 다른값을 입력시키는 setter 형태.

less than 1 minute read

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로 받는다.