Cómo crear una consulta hql con left join usando el campo desde el object que se extiende

Tengo esta class llamada Localizable:

@Entity @Table(name = "locatable") @PrimaryKeyJoinColumn(name = "device_id", referencedColumnName = "id") open class Locatable: Device() { @Basic @Column(name = NAME_COLUMN) var name: String? = null } 

como puede ver Dispositivo extendido localizable, el dispositivo se ve así:

 @Entity @Table(name = "device") @Inheritance(strategy = InheritanceType.JOINED) abstract class Device { @Id @GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "sequenceGen") @SequenceGenerator(name = "sequenceGen", sequenceName = "devices_id_seq", allocationSize = 1) @Column(name = ID_COLUMN) open var id: Long = 0 @Basic @Column(name = GROUP_COLUMN) open var groupId: Long = 0 } 

Ahora, estoy tratando de hacer un repository usando hql de esta manera:

 interface LocatableRepo : JpaRepository<Locatable, Long> { @Query("SELECT l FROM Locatable l LEFT JOIN FETCH l.Device WHERE l.groupId IN ?1") fun getByGroupIdIn(ids: List<Long>): List<Locatable> } 

pero por alguna razón no funciona para mí … probablemente lo haga mal, gracias

    groupdId es de entidad Dispositivo por lo que debe ser

     LEFT JOIN FETCH l.Device d WHERE d.groupId 

    le da un nombre a la unión del dispositivo y la usa al hacer reference a la columna que pertenece al dispositivo