Java 关联的Hibernate where子句
我已经实现了一个复合模式/树。这意味着我有一个父类和一个叶类,它们都是从类组件中降下来的。父类有一个包含组件列表的属性。这将使用Hibernate正确保存在数据库中。当我想显示这棵树时,我从数据库中获取根元素Java 关联的Hibernate where子句,java,hibernate,tree,Java,Hibernate,Tree,我已经实现了一个复合模式/树。这意味着我有一个父类和一个叶类,它们都是从类组件中降下来的。父类有一个包含组件列表的属性。这将使用Hibernate正确保存在数据库中。当我想显示这棵树时,我从数据库中获取根元素 Parent root = (Parent) session.createQuery("FROM Parent WHERE id=1").uniqueResult(); 然后在父对象的ComponentList属性上递归迭代 现在我们来谈谈我的问题: 我想动态地限制来自数据库的结果。例如
Parent root = (Parent) session.createQuery("FROM Parent WHERE id=1").uniqueResult();
然后在父对象的ComponentList属性上递归迭代
现在我们来谈谈我的问题:
我想动态地限制来自数据库的结果。例如,leaf有一个名为“size”的整数属性,我只想在树中显示leaf.size大于100的叶(我从html表单中获取值100)
我该怎么做?在上面显示的代码中,我需要更改什么才能使其正常工作?我的想法是(它只是伪代码):
问题不在于我只想得到10个结果而不是全部结果(事实上我只得到一个单亲对象),问题在于我想限制hibernate通过延迟加载自动获取的对象。因此,它们不是由上面的这一行直接获取的,而是在我使用父类的getter获取列表时获取的。
session.createQuery("FROM Parent WHERE id=1").limitGT(Leaf.class, "size", 100).uniqeResult();