Hibernate"喜欢"双方的表达标准

时间:2015-08-04 08:19:35

标签: java hibernate

我想使用标准并使用hibernate标准创建类似的内容:

bin/kafka-create-topic.sh --zookeeper localhost:2181 --replica 1 --partition 1  --topic test 

我不想使用查询连接来执行此操作,但是使用限制因为我正在创建一个动态库来获取like运算符的左侧和右侧?我清楚了吗?如果没有请我提供更多说明,请不要。

谢谢!

2 个答案:

答案 0 :(得分:1)

希望它可行。

Criteria crit = session.createCriteria(Table.class);
crit.add(Restrictions.ilike("param1 || param2", "%" + dniWithLetter + "%"));

如果上述代码无效,请通过以下链接。

Can we concatenate two properties in Hibernate HQL query?

答案 1 :(得分:0)

我认为您的问题的最佳解决方案如下

...
Object[] params = {objX, objY, someValue};
Type[] typeOfParams = {Hibernate.STRING, Hibernate.STRING, Hibernate.STRING};
Criteria crit = session.createCriteria(Table.class);
crit.add(Restrictions.sqlRestriction("concat(?, ?) like '%?%'", params, typeOfParams));
...

当您使用Restrictions.sqlRestriction时,您可以使用多个参数构建复杂查询,您只需设置每个参数的参数和类型,这可以使用params数组和{{1}完成} array。

我希望这些信息可以帮到你。

祝你好运。