2013-01-02 72 views
0

我在MySql中有兩個具有相同模式和數據的表。一個使用InnoDB引擎,另一個使用MyISAM引擎。JPA在運行時更改實體表名

我已將一個JPA實體映射到InnoDB之一,並有觸發器來更新MyISAM之一, 但查詢記錄時我想使用帶有JPA查詢的MyISAM版本的表,但同時我無法爲MyISAM創建實體一個是因爲它會增加維護和複雜性。

回答

0

我會創建一個@MappedSuperclass併爲每個表有兩個子類。否則,如果您使用的是EclipseLink,則可以映射到您希望讀取的表,然後通過DescriptorQueryManager使用DescriptorCustomizer重寫插入,更新和刪除操作。