我有一個模型,有幾個屬性。屬性可以是原始(String)或複雜(Object)。用戶可以對每個基本屬性進行查詢。我想知道是否有一種簡單的方法來動態構建查詢。我使用Java和Hibernate。動態查詢多個屬性與休眠
模型
public class Model {
String prop1;
Point prop2;
List<Shape> prop3;
}
Point
和Shape
是可以包含基元或對象的對象。查詢的一個例子是所有實例,其中prop1 =「A」,座標是x = 3和y = 8,其中一個形狀是圓形。 prop1 =「A」,prop2.x = 3,prop2.y和prop3.get(i).type =「Circle」;我們將不得不遍歷所有的prop3實例。
我的第一個想法是不可維護和低效的。它包括對所有基本屬性進行查詢,然後合併結果。
- 獲取所有實例,其中爲prop1 = 「A」
- 獲取所有實例,其中prop2.x = 3 和prop3 = Y;
- 獲取所有的實例,其中的一個 Shape.type =「Circle」;
- 獲取的所有3臺
的交集是否有可能在一個更好(更聰明)的方式解決這個問題的任何現有的庫或算法?
感謝
你想查詢一個Shape的「Java類型」還是你有一個字段類型? – 2010-08-12 14:59:49
我的例子與我的真實模型相比非常簡單,但是標準查詢就是我正在尋找的。 – Sydney 2010-08-13 18:39:19