2016-08-27 5 views
1

私はシンプルな階層を持っていますTradeCustomerOrganisationRoleです。 OrganisationRoleOrganisationにリンクされています。 Organisationには、組織のすべての役割を含むプロパティrolesがあります。CriteriaBuilder(OpenJPA)を使用して基本クラスに結合するときにサブクラスにキャスト

私はOrganisationあるルートCriteriaBuilderを使用してJPAクエリを記述したがTradeCustomerのプロパティにアクセスしたいのですが、例えば、私はOrganisationRoleOrganisationに参加しTradeCustomerにキャストする必要があります。ここで

答えて

0

は私のソリューションです:

CriteriaQuery<String> query = cb.createQuery(String.class); 
Root<Organisation> root = query.from(Organisation.class); 
Join<Organisation, TradeCustomer> tcJoin = root.join("roles"); 
query.select(tcJoin.get(TradeCustomer_.rate)); 

重要なビットではなくOrganisation_.rolesの列(roles)の名​​前を使用することです。

関連する問題