Я хочу сопоставить класс с таблицей, а подкласс - с другой таблицей. Я не уверен, что вы можете сделать это правильно. Я пробовал это до сих пор:
@javax.persistence.Entity
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name = "MyTable1")
public class MyClass
@javax.persistence.Entity
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name = "MyTable2")
public class MySubclass extends MyClass
Это работает, но в сгенерированном SQL обе таблицы объединены, и я хочу их разделить.
Другой подход состоял в том, чтобы использовать то же самое, что и выше, но изменить JOINED на TABLE_PER_CLASS. Это не работает, потому что при выполнении запроса MyClass .
в обеих таблицах SQL имеется UNION ALL.
Я также пытался использовать @org.hibernate.annotations.Entity(polymorphism = PolymorphismType.EXPLICIT)
и @org.hibernate.annotations.Entity(polymorphism = PolymorphismType.IMPLICIT)
, но без эффекта.
Так что мой вопрос, есть ли способ отобразить это в Hibernate. Есть предложения?
Спасибо!
Использование Hibernate 3.6.1