gpt4 book ai didi

java - 使用 hibernate 获取空字符串的 where 子句中的所有值

转载 作者:行者123 更新时间:2023-11-29 08:52:28 25 4
gpt4 key购买 nike

我正在使用 jsp 和 hibernate 构建一个购物车。

我使用复选框按品牌大小和价格过滤内容选中的复选框返回到存在 hql 查询的类。所以我想要我可以处理这个的单个 hql 查询。

就像 size 这样的参数之一是空的(意味着用户不使用它来过滤内容),然后一个空字符串被传递给返回任何值的 hql 查询...

那么除了为不同的参数编码不同的方法之外,是否有任何可能在 where 子句中为空字符串或其他一些替代方法检索所有值......

最佳答案

我通常将 Criteria api 用于此类事情...如果用户未指定尺寸,则不要将其添加到条件查询中。

Criteria criteria = session.createCriteria(MyClass.class);
if(size != null && !size.isEmpty()){
criteria.add(Restrictions.eq("size", size);
}

要通过 OR 语句进行多个限制,您可以使用析取。对于 AND,您可以使用连词。

Criteria criteria = session.createCriteria(MyClass.class);
Disjunction sizeDisjunction = Restrictions.disjunction();

String[] sizes = { "small", "medium", "large" };
for(int i = 0; i < sizes.length; i++){
sizeDisjunction.add(Restrictions.eq("size", sizes[i]);
}
criteria.add(sizeDisjunction );

关于java - 使用 hibernate 获取空字符串的 where 子句中的所有值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22078386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com