Many to Many com Triggers no mysql

Bueno, eu saber “Dado um Asset, listar as Linhas que estão usando-o”.

As relações são

Um Linha tem varios Criações
Uma Criação tem varios Grupos
Um Grupo tem um Asset.

Eu poderia fazer em pseudo-select

select L.*
from L Linha, C Criação, G Grupo
where L.linhaId = C.linhaId
and C.criacaoId = G.criacaoId
and G.assetId = ?

mas eu tenho que “usar” tabelas demais e geral tem medinho que com muitos dados isso possa degradar o sistema e blablabla.

Eis que “descobri” que ha uma tabela LinhaAsset que é populada via trigger sempre que um Grupo é criado.

Bastaria eu fazer

select L.*
from L Linha, LA LinhaAsset
where L.linhaId = LA.linhaId
and LA.assetId = ?

Parece menos pior, mas um pouco sujo.

O problema é: todas as relações ja foram descritas em arquivos hbm.xml (deus sabe pq) e não sei se vale a pena adicionar esse relacionamento ou simplemente fazer uma query. O que vcs fariam?