Hibernate JPA uma coluna equivale a varias colunas de outra tabela

Olá!

Uso Hibernate com annotations e estou com um problema para criar um relacionamento entre tabelas, 4 colunas de uma tabela concatenadas formam a chave da outra, gostaria de estabelecer o relacionamento no mapeamento para ficar simples de obter os dados. Alguém conhece uma forma para relacionar a tabelas como se fosse uma concatenação de colunas?

Não existe tal funcionalidade. Se vc está concatenando dados p/ em uma coluna vc está violando a primeira forma normal. Sua modelagem está errada! Reveja ela q vc provavelmente vai conseguir solucionar o seu problema.

Um fato importante, essa modelagem não é minha e sim de uma estrutura de banco de dados legado, não posso fazer alterações na estrutura do banco, pois o sistema antigo precisa continuar operando enquanto os novos módulos vão sendo criados e testados. Acho que terei que criar a query que preenche esse objeto por inteiro, para resolver esse problema.

Talvez um EntityListener possa ajuda-lo.

da uma olhada nos conceitos de:

@SecondaryTable
@Embeddable e @EmbeddedId

talvez ajude…

Isso não ajuda. Não se trata de mapear duas tabelas em uma, mas de transformar varias colunas em uma através da concatenação de seus valores. Esse processo tem q ser feito manualmente. A melhor coisa q pode ser feita é despedir o infeliz q fez essa modelagem ridícula. Isso é trabalho de preguiçoso, e o mais f** é outro cara ter q pagar por isso!!

Eu sei, a modelagem desse banco é uma droga msm, porém como o sistema antigo não era criterioso com as relações entre as tabelas isso não era problema, pois tudo se resolvia em enormes trechos de SQL. No fim das contas teremos q remodelar, mas dai é o patrão que dah o aval.