【发布时间】:2017-04-14 05:39:44
【问题描述】:
考虑类 Account、RealAccount、VirtualAccount 和 Operation,这样:
class Account { }
class RealAccount extends Account { String name; }
class VirtualAccount extends Account { }
class Operation { Account account; }
这意味着:
- 只有
RealAccount有一个名为name的字段。 -
Operation的账号可以是RealAccount或者VirtualAccount。
我想查询属于具有特定名称的RealAccount 的所有Operations:
session.createCriteria(Operation.class)
.createAlias("account", "_account")
.add(Restrictions.eq("_account.name", "Alice"))
.list();
这失败了。
我的问题:使用 "old" Hibernate Criteria API,如何查询仅当Operation 的帐户为RealAccount?也许涉及DetachedCriteria 和Subqueries...
【问题讨论】:
标签: java hibernate subquery hibernate-criteria detachedcriteria