Bom galera, tenho duas entidades mapeadas pelo Hiberante porém estou tendo um problema.
Tenho um campo na tabela que é utilizado como ID e não posso muda-lo, porém para buscar na outra tabela os seus respectivos valores(OneToMany) eu preciso utilizar outro ID e nao sei como setar multiplos Id’s, procurei tanto aqui no forum quanto em material gringo, porém nada deu muito certo.
Estou postando o básico das entidades para que alguém tente dar uma ajuda, fico no aguardo e obrigado.
Nessa entidade de logradouro tenho o GlobalID como um dos Id’s da entidade, porém eu preciso mante-lo e setar o ObjectId como a referência para os trechos.
Nessa entidade tenho os trechos, que são ManyToOne em relação a entidade anterior. Preciso conseguir achar alguma forma de buscar os trechos de cada logradouro sem mudar aquele GlobalId como ID da entidade.
Cara, vc não precisa de multiplos id’s. O Hibernate trabalha com objetos, então o que você precisa é informar a ele que uma entidade tem uma lista de outra entidade. Por exemplo, eu crio uma entidade Empresa, e essa tem uma lista de telefones. O mapeamento disso seria assim:
Bom, eu não posso te ajudar com o annotations, pois não tenho experiência nele. Agora o mapeamento do jeito que eu te falei funciona muito bem, e acho que é assim que você deveria fazer. O seu principal problema é não conseguir fazer uma busca nos trechos de uma determinada entidade?
Isso mesmo, pois ele toma como default o GlobalId e passa a procura no trecho por ele, mas eu queria que ele fizesse essa procura pelo objectId mas mantivesse o GlobalId como Id da entidade, é um requisto aqui no trablaho.
É, eu não sei se tem alguma diferença nas buscas quando se usa annotations, mas eu não tenho esse problema. Consigo buscar o que eu quiser mesmo com o Id da classe sendo default.
Posta suas buscas, pode ser que o problema estejam nelas…
Aqui está a minha query, ele continua passando o maldito do globalId para fazer a procura do trecho.
could not initialize a collection: [br.com.promaps.model.entity.Nomelog.trechos#{FC10274B-B056-40CE-8F5A-BD0336921578}] [select trechos0_.OID_LOG as OID12_1_, trechos0_.OBJECTID as OBJECTID1_, trechos0_.OBJECTID as OBJECTID4_0_, trechos0_.BAIRRO_LD as BAIRRO2_4_0_, trechos0_.BAIRRO_LE as BAIRRO3_4_0_, trechos0_.CEP_LD as CEP4_4_0_, trechos0_.CEP_LE as CEP5_4_0_, trechos0_.COD_MUN as COD6_4_0_, trechos0_.CODIGO as CODIGO4_0_, trechos0_.NUM_FD_G as NUM8_4_0_, trechos0_.NUM_FE_G as NUM9_4_0_, trechos0_.NUM_ID_G as NUM10_4_0_, trechos0_.NUM_IE_G as NUM11_4_0_, trechos0_.OID_LOG as OID12_4_0_, trechos0_.ONE_WAY as ONE13_4_0_ from FE_TRECHO trechos0_ where trechos0_.OID_LOG=?]