Composite Id + ManyToOne

Boa noite senhores,
estou procurando a algum tempo e não achei nada. :cry:

Tenho uma classe que possui uma chave composta e um relacionamento dessa classe com outra (Many To One).

[code]
@Entity
@Inheritance(strategy = InheritanceType.JOINED)
@Table(name = “TABLE_A”)
public abstract class ClasseA {
@EmbeddedId
private ClasseAKey key;

...

@Embeddable
public static class ClasseAKey implements Serializable {

    private static final long serialVersionUID = 1L;

        @Column(name = "COLUMN_A")
    private String colunaA;
	
    @ManyToOne
    @JoinColumn(name = "COLUMN_B")
    private ObjB objB;

        //...

}

}[/code]

Essa seria uma das classes que implementa A

@Entity
@PrimaryKeyJoinColumns({@PrimaryKeyJoinColumn(name = "COLUMN_A", referencedColumnName="COLUMN_A"), @PrimaryKeyJoinColumn(name="COLUMN_B", referencedColumnName="COLUMN_B")})
@Table(name = "TABLE_A1")
public class SubClasseA extends ClasseA implements Serializable {

...

}

Se eu fizer um HQL buscando tudo que está cadastrado na tabela A funciona perfeitamente e inclusive traz as outras subclasses.
Mas o problema é que possuo um relacionamento da seguinte forma:

@Entity
@Table(name = "TABLE_B")
public class ClasseB implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.SEQUENCE, 
            generator = "SEQUENCE")
    @SequenceGenerator(name = "SEQUENCE", 
            sequenceName = "SEQUENCE", 
            allocationSize = SEQUENCE)
    @Column(name = "COLUMN_C")
    private long id;
      
    @ManyToOne
    @JoinColumns({@JoinColumn(name="COLUMN_A", referencedColumnName="COLUMN_A"), @JoinColumn(name="COLUMN_B", referencedColumnName="COLUMN_B")})
    private ClasseA classeA;

    ...

}

Alguém sabe se está certo essa forma de relacionar a classeB com a classe A?
Seria através do JoinColumns mesmo? Ou tem algum outro esquema?

Se esse relacionamento não fosse uma chave composta, funcionaria perfeitamente.

Obrigado pela ajuda.

Abraços