3

我想創建一個系列,所有存儲在單獨的表對象,但有一個共同的字段集所有這些表。我想休眠做這些表的聯合,但不包括超類的表。休眠TABLE_PER_CLASS與@MappedSuperclass不會創建UNION查詢

當我註釋與超剛: @MappedSuperclass @Inheritance(策略= InheritanceType.TABLE_PER_CLASS)

... hibernate會單獨運行(N)查詢的超類的(n)的亞型。

當我刪除@MappedSuperclass並將@Entity放在超類上時,Hibernate將執行花哨的UNION查詢,但將超類作爲UNION中的一個表(超類沒有表)。

我如何得到它的UNION在一起的所有子類(不是單獨的查詢)未做父類的@Entity(因爲它不是一個實體,有沒有表的話)?

回答

4

我發現將父類標記爲「抽象」做了竅門,Hibernate不再將它包含在UNION中,並且將所有的子類聯合在一起。