1
我需要創建一個外連接查詢來檢索與特定公司關聯的所有定義和任何屬性。我的Hibernate的左對外連接的結果的好對象結構
我有兩個休眠模式對象:
class PropertyDefinition {
@Id
private Long id;
@Column
private String name;
@OneToMany(mappedBy = "propertyDefinition")
private Set<Property> properties = new HashSet<Property>();
}
class Property {
@Id
private Long id;
@ManyToOne
private Integer companyId;
@ManyToOne
private PropertyDefinition propertyDefinition;
}
所以查詢最終看起來像:
from PropertyDefinition as pd left join pd.properties as props with props.companyId = :companyId
因此,所有的桃色爲止。我遇到的問題是我將返回的數據存儲在哪種結構中? Hibernate返回一個List,其中[0]是PropertyDefinition(不應該爲null),[1]是可能的null屬性。
我的問題:
- 它厭惡,而不是非常友好OO周圍通過對象[]裏的名單。
- 我不能堅持PropertyDefinition,因爲它擁有的屬性列表不限於公司。
- 我可以創建一個簡單的對象保存到PropertyDefinition和可能空屬性,但其效率低下的一個參考必須通過整個列表進行迭代,並把每一個進入這個新對象。
任何人都有更好的查詢或更好的映射結構的建議嗎?我非常感謝任何幫助。
這正是我所期待的!非常感謝。 – jbarz 2009-09-14 15:36:39