Hibernate如何通过Integer id列添加对过滤结果的限制

时间:2012-02-03 11:20:29

标签: hibernate restrictions

想知道如何通过整数id列

添加过滤结果的限制

我需要像

这样的东西

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

1 个答案:

答案 0 :(得分: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();

我想如果你真正想要的是找到数字列的十进制数字包含某个数字子串的行,那么你必须将列CAST为{{1 (其语法可能因数据库而异,并且您没有指定您正在使用的那个),然后您可以使用类似VARCHAR的内容。但是如果你这样做,你可能需要重新考虑你想要在更高层次上完成什么,因为这会让我相信你的系统的基本设计可能存在问题。