Spring Data: игнорировать таблицу соединений унаследованных объектов - PullRequest
0 голосов
/ 18 февраля 2020

В настоящее время я создаю приложение Spring Boot, используя Hibernate, и это наследование сущностей, как показано в следующей таблице

        Account
          / \
     Admin   AdvancedAccount
                  / \
             Type1   Type2

Класс учетной записи:

@Entity
@Table(name = "accounts")
@Inheritance(strategy = InheritanceType.JOINED)
public class Account {
    // attributes and methods        
}

Класс администратора:

@Entity
@Table(name = "admins")
@Inheritance(strategy = InheritanceType.JOINED)
@PrimaryKeyJoinColumn(name = "id")
public class Admin extends Account {
    // attributes and methods
}

Класс AdvancedAccount:

@Entity
@Table(name = "advanced_accounts")
@Inheritance(strategy = InheritanceType.JOINED)
@PrimaryKeyJoinColumn(name = "id")
public class AdvancedAccount extends Account {
    // attributes and methods
}

Класс Type1:

@Entity
@Table(name = "type1s")
@Inheritance(strategy = InheritanceType.JOINED)
@PrimaryKeyJoinColumn(name = "id")
public class Type1 extends AdvancedAccount {
    // attributes and methods
}

Класс Type2:

@Entity
@Table(name = "type2s")
@Inheritance(strategy = InheritanceType.JOINED)
@PrimaryKeyJoinColumn(name = "id")
public class Type2 extends AdvancedAccount {
    // attributes and methods
}

Я полностью осознаю, что однажды, используя InheritanceType.JOINED, Hibernate будет выполнять запросы таблиц соединений к запросам, которые включают в себя любую из этих таблиц.

То, что я пытаюсь спросить здесь, - это любой способ, которым я могу заставить Hibernate не присоединять все унаследованные таблицы к запросу в некоторых Speci c Scenar ios?

Спасибо, ребята!

...