我有一個實體。有時我需要這個對象也包含一些價值,稱之爲'深度'。查詢可能看起來像'select b.id, b.name, b..., count(c.id) as depth from Entity b, CEntity c where ...'
。所以我創建了擴展Entity的NonHibernateEntity類。然後,上面所寫的查詢結果完全存儲爲List of NonHibEntity,它由Entity的所有字段(擴展時)以及屬性'depth'組成。我通過設置aliasToBean結果轉換器來完成它:.setResultTransformer(Transformers.aliasToBean(NHEntity.class)).
但是,它很煩人和不方便 - 指定所有所需字段的所有別名。 然後,如果我想將這個對象中的一個保存到DB - session.saveOrUpdate((Enity)nHibEntity)
- nHibEntity不是Hibernate Entity的例外。如何將計入DB的屬性添加到@Entity類?
我聽說在nonHibEntity(聚合,而不是繼承)中存儲'實體'作爲字段。但是這似乎也很不方便。 你覺得呢?什麼是合適的解決方案?
但是這個列將在每次我從我的數據庫獲得我的對象時計算出來。我有時只需要這個專欄。每次計算它可能會影響性能。 – javagirl 2011-02-12 09:22:56