7
考慮班Account
,RealAccount
,VirtualAccount
屬性的子屬性,並Operation
使得:使用Hibernate的標準API,如何查詢只存在於某些屬性類型
class Account { }
class RealAccount extends Account { String name; }
class VirtualAccount extends Account { }
class Operation { Account account; }
這意味着:
- 只有
RealAccount
有一個字段叫做name
。可以是RealAccount
或VirtualAccount
。
我要查詢屬於一個RealAccount
具有特定名稱的所有Operation
S:
session.createCriteria(Operation.class)
.createAlias("account", "_account")
.add(Restrictions.eq("_account.name", "Alice"))
.list();
這種失敗。
我的問題:使用「老」的Hibernate API的標準,我怎麼可以查詢該帳戶名存在,只有當Operation
的帳戶是RealAccount
?也許一些envolving DetachedCriteria
和Subqueries
...
這不是標準的API。 – MarcG