【发布时间】:2017-04-21 10:12:24
【问题描述】:
在 where 子句中使用数组列表,如下所示,带有 Hibernate 和 MYSQL。
List<String> list=new ArrayList<String>();
list.add("name1");
list.add("name2");
list.add("name3");
String query= "from TEST where name in (:names)";
Query q = s.createQuery(hql);
q.setParameterList("names", list);
但需要为逗号分隔值的列实现相同的 where 条件。 如果此列中的任何值出现在 arraylist 中,则必须显示所有记录
表结构
ID NAME
----------
1 name1,name2,name3
2 name1
3 name2,name3
4 name5,name8
5 name3,name6
预期结果:
ID 为 1,2,3,5 的记录必须显示。
问题陈述: 我想使用有限制的 Hibernate 标准,我有 arraylist 可以在 where 子句中使用,我们不能使用 Restrictions.in("name",list); 因为这个名称列包含逗号分隔的值,我们需要检查 arraylist 中的任何元素是否是该列中数据的一部分。
【问题讨论】:
标签: java mysql hibernate hibernate-criteria