-2

想问如何通过Integer id列对过滤结果添加限制

我需要类似的东西

Restriction.like("id", myFilterValue) // id 是整数主键

4

1 回答 1

1

如果要在 Hibernate 中通过其主键检索对象,可以使用Session.get()

Foo foo = session.get(Foo.class, id);

否则,如果您想使用 Criteria 添加相等限制:

Criteria crit = session.createCriteria(Foo.class);
crit.add(Restrictions.eq("id", id);
List foos = crit.list();

我想如果您真正想要的是找到数字列的十进制数字包含某个数字子串的任何行,那么您必须将该列转换为 a VARCHAR(其语法可能因数据库而异,而您没有'不要指定您使用的是哪一个),然后您就可以使用类似WHERE CAST(id AS VARCHAR) LIKE '%12%'. 但是如果你这样做,你可能需要在更高的层次上重新考虑你想要完成的事情,因为这会让我相信你的系统的基本设计可能存在问题。

于 2012-02-03T11:24:13.723 回答