hibernate根据用户输入选择数据,其中用户输入与少量逗号分隔数据

时间:2016-06-21 18:51:05

标签: java spring hibernate

LeaveType表

leave_name       emp_gender   employment_type       max_allowed_leave
Sick Leave       male,female  permanent,contractual    10
Maternity Leave  female       permanent                240
Annual Leave     male,female  permanent                15
Paternity Leave  male         permanent                30

我想根据就业类型和性别创建一个下拉列表。如果员工是女性和永久性的,那么下拉的价值将是病假,产假和年度以及只有病假才会显示为员工。合同中的男性和女性员工。如何在hibernate.NB中执行此操作:emp_gender和employment_type字段中的数据使用逗号分隔。  我尝试过以下几点:

    Query query = session.createQuery("from LeaveTable where empGender = :empGender and employmentType =:employmentType ");
query.setParameter("empGender ", currentUser.getGender());
query.setParameter("employmentType ", currentUser.getemploymentType ());
List list = query.list();

对于女性和永久休假类型将是:1.Sick 2.Maternity 3.Annual.Need建议解决hibernate中的问题。

1 个答案:

答案 0 :(得分:0)

您没有关注数据库规范化。您需要将数据隔离到多个表中,以实现高效可靠的查询。对于上表,您需要使用“LIKE”运算符,否则您最终将无法获得任何结果。