Relacionamenot manytomany

Estou tentando resolver um relacionamento manytomany mas não vai de modo algum. Minha situação é que possuo uma propriedade onde outras propriedades deverão fazer fronteira com ela, ou seja, uma entidade propriedade que tem outras propriedades:

Tabela

ID_PROPRIEDADE     ID_PROPRIEDADE_CONFRONTANTE
275245                             275193
275245                             275194

Entidade Propriedade

    @JoinTable(name = "TB_CDA_PROPRIEDADE_CONFRONTANTE", joinColumns = { @JoinColumn(name = "ID_PROPRIEDADE", referencedColumnName = "IDENT") }, inverseJoinColumns = { @JoinColumn(name = "ID_PROPRIEDADE_CONFRONTANTE", referencedColumnName = "IDENT") })
    @ManyToMany(fetch = FetchType.LAZY)
    private Collection<PropriedadeORM> propriedadeConfrontante;
    
    @JoinTable(name = "TB_CDA_PROPRIEDADE_CONFRONTANTE", joinColumns = { @JoinColumn(name = "ID_PROPRIEDADE_CONFRONTANTE", referencedColumnName = "IDENT") }, inverseJoinColumns = { @JoinColumn(name = "ID_PROPRIEDADE", referencedColumnName = "IDENT") })
    @ManyToMany(fetch = FetchType.LAZY)
    private Collection<PropriedadeORM> propriedadeConfrontanteVizinho; 

Entidade confrontante, onde as outras propriedade irão fazer fronteira

public class ConfrontanteORM extends FullBaseORM {

    private static final long serialVersionUID = -5757109810873193750L;

    // ----------------------- RELACIONAMENTOS IDA ---------------------------
    // TODO VER LAZY
    @ManyToMany(targetEntity = PropriedadeORM.class, fetch = FetchType.LAZY)
    @JoinTable(name = "ID_PROPRIEDADE", joinColumns = { @JoinColumn(name = "ID_PROPRIEDADE_CONFRONTANTE", referencedColumnName = "IDENT") }, inverseJoinColumns = { @JoinColumn(name = "ID_PROPRIEDADE", referencedColumnName = "IDENT") })
    private Collection<PropriedadeORM> propriedadeConfrontantePrincipal;    
    
    // TODO VER LAZY
    @ManyToMany(targetEntity = PropriedadeORM.class, fetch = FetchType.LAZY)
    @JoinTable(name = "ID_PROPRIEDADE", joinColumns = { @JoinColumn(name = "ID_PROPRIEDADE_CONFRONTANTE", referencedColumnName = "IDENT") }, inverseJoinColumns = { @JoinColumn(name = "ID_PROPRIEDADE", referencedColumnName = "IDENT") })
    private Collection<PropriedadeORM> propriedadeConfrontanteVizinho;