私は次のスキーマを持っています:
TABLE EMPLOYEE TABLE COUNTRY
--------------- ---------------
id |------> id
name | country_name
country_id ------| country_code
ある国に属するすべての従業員を取得する場合は、次のような基準を使用します。
Criteria crit = getSession().createCriteria(Employee.class);
crit.add(Restrictions.eq("country.id", countryId));
List<Employee> employees = crit.list();
私の従業員エンティティは、次のように国を参照します。
@Entity
public class Employee {
private static final long serialVersionUID = 1L;
@Id
private Integer id;
@ManyToOne
@JoinColumn(name="country_id")
private Country country;
// Other stuff here
}
ここですべてがうまくいきます!
問題は、countryId がわからず、代わりに country_code (ig "UK") を持っている場合です。表を結合して国コードに制限を追加するには、上記の基準をどのように変更すればよいですか?