Ошибка составления jpql

Имеется:
БД имена колонок которых редактировать нельзя. 2 сущности: Room и File

@Table(name = "FILE_TABLE")
@Entity(name = "exm_File")
open class File : BaseStringIdEntity() {

    @Id
    @Column(name = "FILE_ID", nullable = false)
    var fileId: String? = null

    ...

    override fun getId() = fileId

    override fun setId(id: String?) {
        fileId = id
    }
}



@Table(name = "ROOM_TABLE")
@Entity(name = "exm_Room")
open class Room : BaseStringIdEntity() {

    @Id
    @Column(name = "ROOM_ID", nullable = false)
    var roomId: String? = null

    @JoinTable(
        name = "ROOM_FILE_TABLE",
        joinColumns = [JoinColumn(name = "ROOM_ID")],
        inverseJoinColumns = [JoinColumn(name = "FILE_ID")]
    )
    @ManyToMany
    var files: MutableList<File>? = mutableListOf()

    override fun getId() = roomId

    override fun setId(id: String?) {
        roomId = id
    }
    
   ...
}

тк файлов в комнате может быть достаточно много мы не добавляем это поле во view чтобы не грузить сразу все файлы и в экране редактирования добавляем отдельную коллекцию:

<collection id="filesDc" class="...File" view="file-view">
    <loader id="filesDl">
        <query>
            <![CDATA[select f from exp_Room r join r.files f where r.roomId = :roomId]]>
        </query>
    </loader>
</collection>

при таком query появляется ошибка:

Exception Description: Problem compiling [select tempEntityAlias from exm_File tempEntityAlias, exm_Room r join r.files f where (r.roomId = :roomId) and (tempEntityAlias.id = f.id)].
[124, 142] The state field path ‘tempEntityAlias.id’ cannot be resolved to a valid type.
[145, 149] The state field path ‘f.id’ cannot be resolved to a valid type.

Как видно сгенерилась новая jpql в которой файлы пытаются сравнить по id. Xотя в классе Файлов прописано, что колонка с ключами называется roomId. Скорее всего это баг.

Как временное решение я явно подставил сгенерированную jpql в экран с нужными ключами:

<![CDATA[select tempFile from exm_File tempFile, exm_Room r join r.files f
                    where (r.roomId = :roomId) and (tempFile.fileId = f.fileId)]]>

Похоже на ошибку трансформации запроса с идентификатором отличным от id.
Спасибо что сообщили о проблеме, завели issue: https://github.com/cuba-platform/cuba/issues/3177