2012-08-13 14 views
0

我需要的是像我可以使類似安全的異構容器像Bloch的Effective Java與JPA一起工作嗎?

public class Catalog { 

    private Map<Class<?>, Object> options = new HashMap<Class<?>, Object>(); 

    public void addOption(Class><T>, T Option) { 
      ... 
    } 

    public <T> T getSelectedOption() { 
      ... 
    } 

} 

哪個選項的一般目錄應該代表一組其他選擇的。這些可能是TravelDestination,HotelCategory,CarBrand等

我該如何將此構造保存到may數據庫中,同時保留所需的類型信息 用於在運行時使用JPA/Hibernate重構內部映射?

作爲一個附加的邊界條件:

由於目錄應在其真實相對後仿照我想避免一個抽象的目錄,因此引入一個新的子類,像TravelDestinationCatalog或HotelRoomCatalog每替代,使目錄事實上同質。

回答

1

爲什麼你想要一個與他們的類標識對象的地圖?最多可以在Catalog中爲每個類放置一個對象。爲什麼不爲您的目錄的替代品添加ManyToOne關係。這樣,如果需要,您仍然可以保留惰性關聯,這樣做更靈活,更容易。

相關問題