1

こんにちは、基準 API を使用して次のクエリを作成するのに苦労しています: "SELECT c.id,curr.name FROM Cargo c, Currency curr"

問題は、Cargo と Currency の両方が基準によって c としてエイリアス化されるため、結果の jpql が「SELECT c.id,c.name FROM Cargo c, Currency c」になることです。

両方のエンティティが C で始まるためかどうかはわかりません。テーブルのエイリアスを変更する方法はありますか?

CriteriaBuilder criteriaBuilder = getEntityManager().getCriteriaBuilder();
CriteriaQuery<Tuple> query= criteriaBuilder.createTupleQuery();

Root<Cargo> cargo= query.from(Cargo.class);
Root<Currency> currency= query.from(Currency.class);

どんな助けでも大歓迎です。

4

2 に答える 2

1

多くのデバッグの後、実行される実際の jpql が私の ide(eclipse) に表示されるものと異なることがわかりました。エイリアスは問題ありませんでした。アイデアに少しだまされたと思います。ご清聴ありがとうございました。

于 2013-09-24T13:27:22.403 に答える