1

최근에 Criteria API의 예제 구성 요소로 쿼리를 실행하고 이상한 문제가 발생했습니다. 시도 할 때 org.hibernate.QueryException이 throw됩니다 검색을 수행하십시오.최대 절전 모드 : 일대 다 관계가 포함 된 예제

내가 속성의 하나로서 클래스 B의 인스턴스 (< B> listOfBs 설정)의 세트가있는 클래스 A를 가지고 다음과 같이

내 시나리오입니다. 이것은 A에서 일대 다 관계로 매핑됩니다.

예를 들어 B의 예제 인스턴스에 대해 "somevalue"라는 속성 값으로 모든 B를 지정하고 기준 쿼리를 설정하기를 원했습니다. 그러한 기준을 지닌 모든 A를 찾아내는 기준. 이것은 내가 사용 (또는에 기대)하고 코드입니다 :

Criteria aCrit = session.createCriteria(A.class); 

    A aExampleInstance = new A(); 
    Example aExampleCriteria = Example.create(aExampleInstance); 

    Criteria bCrit = atCrit.createCriteria("listOfBs"); 
    B bExampleInstance = new B(); 
    bExampleInstance .setProperty("somevalue"); 
    bCrit.add(Example.create(bExampleInstance)); 

    List<A> results = aCrit.add(aExampleCriteria).list(); 

내가 XML 매핑을 사용하고, 그리고는 다음과 같이 (A.hbm.xml)를 B의 관계의 매핑된다

<set name="listOfBs" table="B" inverse="false" cascade="all" lazy="true"> 
     <key column="A_ID" not-null="true"/> 
     <one-to-many class="B"/> 
    </set> 

이것이 올바른 접근 방식이 아닐 수도 있다는 것을 알고 있습니다. 더 좋은 제안을 환영합니다.

org.hibernate.QueryException : 해결할 수없는 재산 : _com의 : B 내가 검색 한

및 예외가 말하고있는 것을 실현 어떤 경우에는, 문제는 내가 예외를 얻을 수 있다는 것입니다 나를. 그러나 어떤 클래스에도 선언 된 프로퍼티 이름은 없습니다. Hibernate가 지속성을 투명하게 보이게하기 위해 Hibernate가 사용하는 모든 도구의 일부일 수도 있습니다.

알려진 문제인지 궁금한 점이 있습니까? 사람들이 사용했거나 다른 버전의 해결책이 있는지 궁금합니다. 나는 Hibernate 3.6.6을 사용하고있다.

조언이나 경험이 있으면 감사하겠습니다.

감사합니다.

답변

1
org.hibernate.QueryException: could not resolve property: _com of: B 

예외는

은 당신의 코드는 다음의 잘못된 것을 의미 B의 특성을 찾아 _com couldnt는 것을 말한다.

B bExampleInstance = new B(); 
    bExampleInstance .setProperty("somevalue"); 

속성 이름은 A와 B에서 동일하며 사용자가 설정 한 것과 동일합니다.

+0

설명해 주시겠습니까? _com은 A 또는 B에 존재하지 않습니다. B에 설정된 속성은 A에 없습니다. –

관련 문제