public class Fee implements java.io.Serializable { private long id;
private Student student;
private Special special;
private long money;
private Date deliverdate;
private String importer;
}
public class Student implements java.io.Serializable { private long id;
private Roles roles;
private Special special;
private ClassInfo classInfo;
private String name;
private String stuno;
private String pwd;
private Set fees = new HashSet(0);
}
--费用表
create table fee(
id number primary key,
money number not null,
deliverDate date not null,
importer varchar2(50) not null,
studentId number references student(id),

);在fee 多条件查询时public List searchFeeCondition(Student student,
String money, String startDate, String endDate) throws AccessException {

Session session = this.getSession();
Criteria c=session.createCriteria(Fee.class); if(startDate==null&&endDate==null){
c.add(Expression.between("deliverdate", StringToDate.parseDateFromStringNon("01/09/2003"), new Date(System.currentTimeMillis())));
}
if(endDate!=null&&startDate==null){
c.add(Expression.between("deliverdate", StringToDate.parseDateFromStringNon("01/09/2003"), StringToDate.parseDateFromString(endDate)));
}
if(startDate!=null&&endDate==null){
c.add(Expression.between("deliverdate",  StringToDate.parseDateFromString(startDate),new Date(System.currentTimeMillis())));
}
if(startDate!=null&&endDate!=null){
c.add(Expression.between("deliverdate", StringToDate.parseDateFromString(startDate),  StringToDate.parseDateFromString(endDate)));
}
//--这里有问题-
if(student!=null){
Criteria cc=c.createCriteria("student");
cc.add(Expression.eq("id", student.getId()));
}
//--
if(money!=null&&money.trim().length()>0){
c.add(Expression.eq("money", Long.parseLong(money)));
}

List<Fee> list=c.list(); }
}