0
我有一个hibernate过滤器,需要使用数据库中的两个不同列进行评估。我有另一个包含这两个字段的现有hibernate对象,我希望能够将另一个hibernate对象传入session.enableFilter.setParameter()调用,而不是单独传递其中包含的两个值。你可以在Hibernate过滤器中使用自定义对象吗?
具体来说,我想将这段代码:
session
.enableFilter("inLocation")
.setParameter("traversalLeft", 5)
.setParameter("traversalRight", 10);
与此代码:
session
.enableFilter("inLocation")
.setParameter("location", locationHibernateObject)
更好地隔离excactly什么过滤器的需求。
但是,当我尝试配置像过滤器:
@FilterDef(name="inLocation", [email protected](name="location", type="com.example.Location"))
@Filters({
@Filter(name="inLocation", condition="current_location_id in (select location.id from location where location.traversal_left between :location.traversalLeft+1 and :location.traversalRight)")
})
public class ClassToFilter {
我得到试图调用enableFilter()的错误
这是东西,甚至有可能?我究竟做错了什么?
这绝对会让它听起来像一个休眠问题,而不仅仅是一个我错过的配置。 – 2010-04-29 20:12:12