0
CREATE TABLE EMPLOYEE (
EMP_ID INTEGER(5) PRIMARY KEY DEFAULT 1,
EMP_NAME VARCHAR(30) NOT NULL
);
CREATE TABLE PHONENUMBER (
PH_NUMBER VARCHAR(10) NOT NULL,
PH_NUMBER_TYPE VARCHAR(10),
EMP_ID INTEGER(5) NOT NULL,
FOREIGN KEY (EMP_ID) REFERENCES EMPLOYEE (EMP_ID)
);
加入限制我有兩個類僱員作爲實體類休眠標準:上收集
public class Employee{
private int empId;
private String empName;
private Set<PhoneNumber>phNoSet;
}
和PhoneNumber作爲值類
public class PhoneNumber{
private String phoneNo;
private String phNoType;
}
下面是僱員和PhoneNumber休眠之間XML映射。
使用Hibernate,當我訪問僱員與EMP_ID =「101'.I得到PHONENUMBER table.But我需要PHONENUMBER只表項中的所有條目,其中ph_number_type =」住宅」與EMP_ID員工=‘101’ 。
我試過下面的方法,但沒有成功。
List results = session.createCriteria(Employee.class)
.add(Restrictions.eq("empId", 101))
.createCriteria("phNoSet")
.add(Restrictions.eq("phNoType", "residential"))
.list();
我該如何實現它?