2014-12-11 1 views
1

처음으로 재생 프레임 워크를 사용하고 있으며 동일한 유형의 개체를 연결해야합니다. 이를 위해 나는 이렇게 많은 관계로 많은 자기 - 참조를 추가했습니다 : 엔터티에 매핑되지 않은 테이블에 대한 원시 재생 쿼리를 작성하는 방법

@ManyToMany(cascade=CascadeType.ALL) 
@JoinTable(name="journal_predecessor", joinColumns={@JoinColumn(name="journal_id")}, inverseJoinColumns={@JoinColumn(name="predecessor_id")}) 
public List<Journal> journalPredecessor = new ArrayList<Journal>(); 

내가 두 개의 열이 포함 된 테이블 journal_predecessor 구하십시오 journal_id 및 predecessor_id을 모두되는 FKS은의 기본 키를 가리키는 테이블 저널. 내 질문은 H2 메모리 내 데이터베이스를 사용하는 경우 어떻게 원시 쿼리를 사용하여이 테이블을 쿼리 할 수 ​​있습니다. 감사!

+0

당신은에 일반 playframework 태그를 떠나야한다 당신의 질문은 버전 별 태그뿐만 아니라 가시성을 높입니다. 그것이 바로 그 때문입니다. –

답변

0

사실 매우 쉽습니다. 난 그냥 원시 쿼리를 만들은 SQLQuery의 인스턴스를 만드는 데 필요한 :

은 SQLQuery rawQuery = Ebean.createSqlQuery ("에서 journal_id SELECT journal_predecessor 곳 journal_id ="+ successorId + "AND predecessor_id ="+ predecessorId); 난 그냥 행이 존재 여부 날씨를 확인하기 위해 필요로했기 때문에

는, 나는 쿼리에 의해 반환 된 결과 집합의 크기를 찾을 수 :

Set<SqlRow> sqlRow = rawQuery.findSet(); 
int rowExists = sqlRow.size(); 
관련 문제