Как исключить присоединение суперкласса в JPA, когда я запрашиваю только подкласс? - PullRequest
0 голосов
/ 27 августа 2018

У меня есть модель JPA с иерархией классов. Я использую стратегию InheritanceType.JOINED. Моя модель:

@Entity
@Inheritance(strategy = InheritanceType.JOINED)
public class A {

    @Id
    @GeneratedValue
    private Long id;

    public Long getId() {
        return id;
    }

}

@Entity
public class SubA extends A {

    private String val;

    public String getVal() {
        return val;
    }

    public void setVal(String val) {
        this.val = val;
    }

}

JPA запрос

select val from SubA

генерирует этот sql

select suba0_.val as col_0_0_ from SubA suba0_ inner join A suba0_1_ on suba0_.id=suba0_1_.id

Существует внутреннее соединение с таблицей суперкласса, которое бесполезно. Мне ничего не нужно оттуда. Есть ли способ, как этого избежать? Спасибо!

(тест с Hibernate 5.2.15.Final)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...