AnnotationException

Aconteceu uma exception na execucao do codigo que eu estou desenvolvendo e gostaria de saber se alguem poderia me ajuda

a excessao é:

Exception in thread "main" org.hibernate.AnnotationException: referencedColumnNames(ID_ENDERECO) of entidade.TbCliente.endereco referencing entidade.TbEndereco not mapped to a single property at org.hibernate.cfg.BinderHelper.createSyntheticPropertyReference(BinderHelper.java:180) at org.hibernate.cfg.ToOneFkSecondPass.doSecondPass(ToOneFkSecondPass.java:88) at org.hibernate.cfg.AnnotationConfiguration.processFkSecondPassInOrder(AnnotationConfiguration.java:499) at org.hibernate.cfg.AnnotationConfiguration.secondPassCompile(AnnotationConfiguration.java:304) at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1286) at org.hibernate.cfg.AnnotationConfiguration.buildSessionFactory(AnnotationConfiguration.java:859)

vou deixar tambem o codigo das duas classe de entidade do banco para vcs tarem uma olhada

@Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE)
    @Column(name = "ID_CLIENTE")
    private Integer idCliente;
    
    @Id
    @Column(name = "ID_ENDERECO")
    private Integer idEndreco;

    @Column(name = "DS_NOME")
    private String dsNome;
    
    @Column(name = "DS_TELEFONE")
    private String dsTelefone;
    
    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "ID_ENDERECO", referencedColumnName = "ID_ENDERECO")
    private TbEndereco endereco;


 @Id
    @GeneratedValue(strategy = GenerationType.TABLE)
    @Column(name = "ID_ENDERECO")
    private Integer idEndereco;
    
    @Id
    @Column(name = "id_cidade")
    private Integer idCidade;
    
    @Id
    @Column(name = "id_bairro")
    private Integer idBairro;
    
    @Column(name = "DS_BAIRRO")
    private String dsBairro;
   
    @JoinColumn(name = "ID_CIDADE", referencedColumnName = "ID_CIDADE")
    @ManyToOne(fetch = FetchType.LAZY)
    private TbCidade cidade;
    
    @JoinColumn(name = "ID_BAIRRO", referencedColumnName = "ID_BAIRRO")
    @ManyToOne(fetch = FetchType.LAZY)
    private TbBairro bairro;
    
    @OneToMany(mappedBy = "idEndereco", fetch = FetchType.LAZY)
    private List<TbCliente> listaCliente;