2
respostas

Relaçao many to many em projeto multi modulo

Bom dia, boa tarde ou boa noite.

Eu estou criando um projeto com springboot + jpa multimodulo e eu travei em um ponto onde para ter uma relaçao many to many entre duas entidades distintas que estao em modulos separados eu preciso adicionar cada uma no pom da outra criando assim a famosa referencia circular:

org.apache.maven.ProjectCycleException: The projects in the reactor contain a cyclic reference: Edge between 'Vertex{label='com.virtual-mattress:virtual-mattress-user:0.0.1-SNAPSHOT'}' and 'Vertex{label='com.virtual-mattress:virtual-mattress-sheet:0.0.1-SNAPSHOT'}' introduces to cycle in the graph com.virtual-mattress:virtual-mattress-sheet:0.0.1-SNAPSHOT --> com.virtual-mattress:virtual-mattress-user:0.0.1-SNAPSHOT --> com.virtual-mattress:virtual-mattress-sheet:0.0.1-SNAPSHOT

O que eu preciso fazer é dizer dentro da minha classe A o seguinte:

class A {

    @ManyToMany
    List<B> bList;
}

e dentro da minha classe B o seguinte:

class B {

    @ManyToMany
    List<A> aList;
}

O problema é que a duas classes estao em modulos diferentes e sem o import no pom as classes nao compilam.

Qual a melhor maneira de lidar com essa situaçao? Eu ja pensei até em extrair meus modelos para um modulo especifico mas nao gosto muito dessa idéia.

Valeu desde já

2 respostas

Se A tem a Lista de B e B tem a lista de A, logo A = B Nesse caso não precisaria recriar A em B, apenas importar A em B e usar seus métodos caso sejam públicos.

Para importar eles eu preciso colocar cada um como dependencia do outro no pom, A está em um modulo e B está em outro. O problema começou quanod eu separei a aplicaçao em diferentes modulos :(