複数のテーブルを結合して基準を使用して結合しようとしていますが、問題が発生しています。助けてください:次のようなSQLクエリがあります:
SELECT a.type, a.time, c.code AS exchangeCode
FROM CutOffTime AS a INNER JOIN
Country AS b ON a.country_fk = b.id INNER JOIN
Exchange AS c ON c.country_fk = b.id
これら 3 つのテーブル: CutOffTime (国を含む)、Country、Exchange (国を含む) は 3 つのエンティティ クラスです。
休止状態の基準を使用してこのように参加するにはどうすればよいですか、以下のコードはまだ完了していません:
List<Map<String, Object>> aa= ( List<Map<String, Object>>) getHibernateTemplate().executeFind(new HibernateCallback() {
@Override
public Object doInHibernate(final Session session) throws HibernateException, SQLException {
final Criteria c = session.createCriteria(CutOffTime.class,"cutofftime");
c.createAlias("cutofftime.country", "country");
final Criteria c2= session.createCriteria(Exchange.class,"exchange");
c2.createAlias("exchange.country", "country");
// c.add(Restrictions.eqProperty("cutofftime.country.id","exchange.country.id"));
return c.list();
}
});