2011-09-04 7 views
13
내가 예를 들어, 이와 같은 세 개의 테이블 조인 내부를 만들

에 가입?Ormlite 내부는 세 개의 테이블

+0

오류를 게시 하시겠습니까? –

+0

나는 순수한 sql을 시도했다. 왜냐하면 나는 아직도 그것을 얻지 못한다. ormlite ormlite를 사용하여 쿼리를 작성하는 방법이다. 그냥 예제가 필요해. 3 개의 테이블을 포함하는 모든 예제. – Antonis

+1

4.42 @Antonis에 기본 JOIN 지원을 추가한다는 점에 유의하십시오. 내 대답을 업데이트했습니다. – Gray

답변

34

ORMLite 지금 simple JOIN statements을 지원 미리

감사합니다. 다음과 같이 할 수 있습니다.

// start the order header query 
QueryBuilder<OrderHeader, Integer> orderHeaderQb = orderHeaderDao.queryBuilder(); 
QueryBuilder<Customer, Integer> customerQb = customerDao.queryBuilder(); 
// join with the order query 
orderHeaderQb.join(customerQb); 
// start the order statement query 
QueryBuilder<OrderStatement, Integer> orderStatementQb = 
    orderStatementDao.queryBuilder(); 
orderStatementQb.where().gt("mixedvalue", 100); 
// join with the order-header query 
orderStatementQb.join(orderHeaderQb); 
List<OrderStatement> orderStatementQb.query(); 

그러나이 메커니즘을 사용하여 쿼리 작성기에서만 엔터티를 가져올 수 있습니다. 다른 개체에서 두 개의 설명 필드를 가져 오려면 원시 쿼리를 사용해야합니다.

자신의 SQL을 사용할 수있는 Dao.queryRaw() 메서드를 비롯한 "원시 쿼리"가 지원됩니다. 이미 네가 그들을 찾은 것 같아. 다음은 docs for raw queries입니다.

+0

고맙습니다. 그레이! ORMLite에 감사드립니다. – Antonis

+0

OK 좋은 소식입니다! – Antonis

+0

http://ormlite.com/javadoc/ormlite-core/doc-files/ormlite_3.html#index-select-arguments – LuminiousAndroid

관련 문제