Ho il seguente problema:
ho due @Entity, Attivita e Passo entrambi con chiave singola che è il loro ID
Sto creando una relazione ControlloIndice tra di loro in questo modo
e fin qui tutto ok, mi crea la tabella ACT_INDEXES con la relazione tra le due entità Attivita e Passo.codice:@Embeddable public class ControlloIndice implements Serializable { @ElementCollection @MapKeyColumn(name = "PASSO_ID") @Column(name = "INDEX_POS") @CollectionTable(name = "ACT_INDEXES", joinColumns = {@JoinColumn(name = "ATIVITA_ID")}) private Map<Long,Integer> passoToIndex; ...
Adesso ad entrambe le due due entità, vado a creare una chiave doppia con ID e PROPRIETARIO.
Così alla mia @Embeddable non gli faccio più mappare
@MapKeyColumn(name = "PASSO_ID")
ma bensì
@MapKeyClass(PassoPK.class)
Quando eseguo mi viene il seguente errore
The @JoinColumns on the annotated element [field passoToIndex] from the entity class [class test.ControlloIndice] is incomplete.
When the source entity class uses a composite primary key, a @JoinColumn must be specified for each join column using the @JoinColumns.
Both the name and the referencedColumnName elements must be specified in each such @JoinColumn.
Non capisco dove sbaglio, o meglio è sbagliato il mapping ma non saprei come risolverlo...
nh

Rispondi quotando