2
나는 DTO의 다음 구조가 객체가최대 절전 모드 기준
MainDTO.disabled = 거짓,
MainDTO.root! = null,
MainDTO.root.disabled = false,
MainDTO.child.disabled = 거짓, MainDTO.child.info! = null의,
MainDTO.child.info.disabled = 여기
, 내가 작성한 코드는 false하지만, InfoDTO의 일부 InfoId에 머물렀다.Criteria rootCriteria = getSession().createCriteria(
MainDTO.class);
// check that root is enabled
rootCriteria.createCriteria("root", "root").add(
Restrictions.eq("disabled", false));
// check that child is enabled
Criteria childCriteria = rootCriteria
.createCriteria("child", "child")
.add(Restrictions.eq("disabled", false))
.add(Restrictions.isNotNull("info"));
// check that info is enabled
childCriteria
.createCriteria("info", "info")
.add(Restrictions.eq("disabled", false));
ProjectionList rootProjection = Projections.projectionList()
.add(Projections.property("mainId"))
.add(Projections.property("name"))
.add(Projections.property("child.info")); //HOW TO SELECT ONLY ID??
rootCriteria.setProjection(rootProjection);
rootCriteria.add(Restrictions.eq("disabled", false))
.add(Restrictions.isNotNull("root"))
.add(Restrictions.isNotNull("child"));
고마워!
고마워요! 어쩌면 당신이 다른 문제를 도와 줄 수 있습니다.이 rootCriteria.list()는 다음 구조를 반환합니다 : Object [Object [3]] Object [3]이 내 맵으로 변환 할 것을 기대했을 때. 어쩌면 그룹 진술을 추가해야할까요? – ninja
criteria.list() 메서드는 목록을 반환합니다. 목록의 각 요소는 쿼리에 의해 반환 된 행이며, Object 배열로 표시됩니다. 각 행에는 3 개의 열이 있습니다. 따라서 criteria.list() 메서드는 List
이제 List