クエリは有効なJPQLで、Hibernate固有の機能は使用されません(barとfromの間に空白があります)。 JPA 2.0仕様(4.4.5ジョイン)これは、次の言葉で説明されている:
内暗黙FROM句でデカルト 製品の使用によって指定することができる参加してWHERE句に結合条件。 結合条件がない場合、これはデカルト座標系の になります。
この一般化された結合スタイルの主な使用例は、 結合条件に、エンティティ関係にマップされた の外部キー関係が含まれていない場合です。例:顧客CからのSELECT C、
従業員の電子WHERE c.hatsize = e.shoesize
クエリへの主な違いは、あなたの選択は、エンティティの2種類が含まれていることです。クエリの結果はオブジェクトのリスト[]です。配列内の要素の順序は、select ステートメントの場合と同じです。あなたの場合の作品に続いて:
String query =
"select foo, bar from FooEntity as foo, BarEntity as bar "+
"where foo.someothercol = 'foo' and foo.somecol = bar.somecol";
List<Object[]> results = em.createQuery(query).getResultList();
for (Object[] fooAndBar: results) {
FooEntity foo = (FooEntity) fooAndBar[0];
BarEntity bar = (BarEntity) fooAndBar[1];
//do something with foo and bar
}
バーとの間にスペースがありませんでした。 –