Hibernate通过将值与2个concat字段匹配来获取记录

时间:2010-12-21 10:06:05

标签: hibernate criteria

我有一个值必须与2个字段串联(value = field1 + field2)匹配,并返回匹配该条件的结果对象。我可以通过Criteria以某种方式做到这一点,或者我需要使用Query来解决这个问题吗?

感谢您的回答。

2 个答案:

答案 0 :(得分:4)

Hibernate没有实现此功能。 有一些方法可以做到这一点。

一个是使用SQLRestriction,它取决于数据库。 另一个是使用连接公式创建一个字段,也依赖于DB。

我通过为Hibernate创建一个新的Criterion来解决这个问题。 你可以在这里读更多关于它的内容。 http://whaticode.com/2013/02/01/hibernate-criteria-concatenate-fields-in-like-and-ilike-operators/

我希望它有所帮助。

答案 1 :(得分:1)

这不是很优雅,但它有效:

result.add(Restrictions.ilike(“dni || this.letter”,“%”+ dniWithLetter +“%”));