我有以下模式:加入標準很好......但是如果我想添加一個條件?
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(而不是英國)。我應該如何更改上述標準,以便我可以加入表格並在國家代碼上添加限制條件?
您可以在值,如果其他人使用(即,如果空白),幷包括crit.add(Restrictions.eq(「country.id」,countryId)),取決於條件的結果。 – Davos555