Ciao, è possibile creare una associazione unidirezionale OneToOne tra una tabella con chiave composta e una con chiave semplice ?
Ho fatto n prove ma ho errore "... wrong number of column ..."
Capisco che è una forzatura a livello di database, dovrebbe essere ManyToOne...
Ho cercato in rete ma non ho trovato niente...
Descirvo le classi entità (ho omesso tutto quello che non serve).

Questa è l'entità che vorrei owner:

codice:
@Entity
@Table(name="CliFor")
@IdClass(CliForPK.class)
 public class CliForVO implements Serializable {
     
     private String idCliFor = "";
     private Integer tipoCliFor = 0;    
     private FornQuaVO fornQua;
    
    ...

     public CliForVO(){}

     @Id
     @Column(length=4)
     public String getIdCliFor() {
         return this.idCliFor;    
     }

     @Id
     public Integer getTipoCliFor() {
         return this.tipoCliFor;    
     }     
    
    ...

    @OneToOne(cascade=CascadeType.ALL, fetch=FetchType.EAGER, mappedBy="CliForVO")
    @JoinTable(name = "Fornitori",
    joinColumns = { @JoinColumn(name = "idForn") },
    inverseJoinColumns = @JoinColumn(name = "idCliFor"))
     public FornQuaVO getFornQua() {
        return fornQua;
    }
}
questa è la classe della chiave composta:

codice:
public class CliForPK implements Serializable {
     
     private String idCliFor = "";
     private int tipoCliFor = 0;    

     public CliForPK(){}
     
     public CliForPK(String idCliFor, int tipoCliFor){
         this.idCliFor = idCliFor;
         this.tipoCliFor = tipoCliFor;
     }

     public String getIdCliFor() {
         return this.idCliFor;    
     }

     public int getTipoCliFor() {
         return this.tipoCliFor;    
     }     
     ...
}
Questa è l'entità "figlia"

codice:
@Entity
@Table(name="Fornitori")
public class FornQuaVO implements Serializable {
    private String idForn = "";
    ...
    
    public FornQuaVO(){}
    
    @Id
    @Column(length=4)
    public String getIdForn() {
        return idForn;
    }
    
    ...
}
grazie