특정 열 선택을 위한 Hibernate 기준 쿼리
Hibernate에서 기준 쿼리는 기본적으로 데이터베이스에서 모든 열을 검색합니다. 그러나 경우에 따라 성능을 향상하거나 특정 요구 사항을 충족하기 위해 특정 열을 제외할 수도 있습니다.
프로젝션을 사용하여 열 제외
특정 열을 제외하려면 기준 쿼리의 경우 Projections.projectionList() 메서드를 사용할 수 있습니다. 이 방법을 사용하면 프로젝션에서 원하는 열만 지정할 수 있습니다.
예:
"사용자" 테이블에서 모든 열을 검색하는 쿼리가 있다고 가정합니다. 쿼리에서 "age" 열을 제외하려면 다음 코드를 사용할 수 있습니다.
<code class="java">Criteria cr = session.createCriteria(User.class) .setProjection(Projections.projectionList() .add(Projections.property("id"), "id") .add(Projections.property("name"), "name")) .setResultTransformer(Transformers.aliasToBean(User.class));</code>
쿼리 오류 처리
프로젝션을 사용할 때 오류가 발생할 수 있습니다. where 절이나 쿼리의 다른 부분에서 제외된 열을 참조하는 경우. 이 문제를 해결하려면 프로젝션된 열에 할당된 별칭을 명시적으로 지정하면 됩니다.
예:
<code class="java">Criteria cr = session.createCriteria(User.class) .setProjection(Projections.projectionList() .add(Projections.property("id"), "user_id") .add(Projections.property("name"), "user_name")) .setResultTransformer(Transformers.aliasToBean(User.class)) .add(Restrictions.gt("user_id", 10));</code>
이 쿼리에서 "id" 및 " name" 열은 각각 "user_id" 및 "user_name" 별칭에 프로젝션 및 할당됩니다. 그런 다음 where 절은 이러한 별칭을 참조하여 원래 열 이름을 참조함으로써 발생할 수 있는 오류를 방지합니다.
위 내용은 Hibernate 기준 쿼리에서 열을 어떻게 제외할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!