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();
我该如何实现它?