【发布时间】:2014-10-21 21:08:24
【问题描述】:
在我的应用程序中,我有 2 个类:
- Group
- Model
还有一个基类Element。
我使用单表策略来持久化这些模型。 (strategy = InheritanceType.SINGLE_TABLE)。因此在我的表中创建了一个列dtype。
我现在正在尝试根据这种类型对我的页面进行排序:
find.where().disjunction()
.add(Expr.ilike("name", "%" + filter + "%"))
.orderBy("dtype asc, name asc," + sortBy + " " + order).findList()
但这会引发异常,无法找到该 dtype。
如何根据类型进行排序?
谢谢!
【问题讨论】:
-
嗯,但是如果您在
Element中声明了find方法,它总是只选择带有dtype = 'Element'的行,不是吗?在这种情况下,没有必要按它进行排序。 -
好吧,我希望
Group和Model两个类都出现在搜索中。所以我在基类(Element)上使用 find 。但我希望 Group 中的 Objects 出现在 Model 之前。 -
刚刚创建了一个带有继承表的示例应用程序,可以在查找器中使用鉴别器字段...不过还有一些工作要做:)
-
谢谢。您的解决方案效果很好。如果您发布答案,我非常乐意接受。
标签: jpa playframework-2.0 ebean