1
我試圖構建由各種組件組成的標準。想象下面的映射類。連接休眠限制
class Thing {
Inner inner;
String x;
}
class User {
Id; // mapped as id.
String first; // indexed columns etc
String last;
}
我想創造東西的地方[email protected]和[email protected]查詢(又名標準)。我可以通過創建用戶的根目錄下的子標準,然後將限制條件添加到此來輕鬆實現此目的。
Critera root = ...
root.add(Restrictions.eq("xxx", @2));
Criteria user = root.createCritera("user");
user.add(Restrictions.eq("first", @1));
...etc
但是我不能創建和事情和用戶屬性使用類似代碼...
Critera root = ...
root.add(Restrictions.and(Restrictions.eq("user.first", @1), Restrictions.eq("thing.x", @2));
一個QueryException拋出的是「user.first」是不是關聯。在添加限制之前手動創建條件的需求看起來應該不是必需的,但它仍然是..嘗試在第二種形式中使用別名也失敗。