NamedQuery — выбор поля из суперкласса

#hibernate #jpa #named-query

#переход в спящий режим #jpa #именованный запрос

Вопрос:

У меня проблема, я пока не смог найти ответ. Надеюсь, что ваши мозги могут дать мне подсказку, хотя 🙂

Приведенный ниже код показывает, как это работало до сих пор. Но теперь я хочу расширить ВЫБОР, вернув superColumn2 из supperClass.

Это мой суперкласс для моих двух подклассов:

 @MappedSuperclass
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public abstract class SuperClass extends MyEntity{

    @Column(name = "superColumn2", nullable = false, length = 20)
    private String superColumn2;

    ...
}
  

подкласс 1:

 @Entity
@Table(uniqueConstraints = @UniqueConstraint(name = "UC_subClass1",
    columnNames = {"superColumn1", "superColumn2"}))
public class SubClass1 extends SuperClass {

}
  

Любая таблица:

 @Entity
public class TableX extends MyEntity {
    @Column(name = "columnX", nullable = false, length = 20)
    private String columnX;

    @Column(name = "subClass1_id", nullable = false, length = 20)
    private SubClass1 subClass1_id;
}
  

и именованный запрос:

 SELECT tx.columnX, sc1.superColumn2
FROM TableX tx 
JOIN tx.subClass1_id sc1;
  

Ошибка: antlr.Исключение NoViableAltException: неожиданный токен: sc1

Надеюсь, вы можете дать мне небольшую подсказку.

Большое спасибо