我用xjc創建了一個表示目錄的模型類。它被註釋爲與jax-b和jpa一起使用。由於車型的目錄,目錄可以同時包含文檔(文件)和其他目錄,以便類的屬性之一是:我可以使用JPA將對象類型映射到表嗎?
@XmlElements({
@XmlElement(name = "dir", type = Dir.class),
@XmlElement(name = "document", type = Document.class)
})
protected List<Object> dirOrDocument = new ArrayList<>();
你可以看到,我有對象的列表,其可以是實例一個Dir或文檔類。這對於使用jax-b編組xml非常有用,但是如果我想使用JPA將其持久化到數據庫,我將如何告訴JPA測試Object是否爲instanceof Dir,寫入Dir表。如果Object是instanceof Document,寫入文檔表?
我已經看過使用JPA AttributeConverter,但看起來沒有前途,因爲它似乎從一種類型轉換爲另一種,但我需要潛在轉換爲多種類型。
也許有另一種方法來表示我的模型,可以更好地用於JAXB和JPA?
我使用eclipselink進行JAXB和JPA實現。
我想我可能會嘗試你提到的繼承方法。這似乎是一個自然的解決方案,可能更適合jpa。 – cditcher