@Entity
@Table(name = "table_a")
@IdClass(ClassA_PK.class)
@Inheritance(strategy = InheritanceType.JOINED)
@DiscriminatorColumn(name = "discriminator_column", discriminatorType = DiscriminatorType.STRING)
public ClassA{
@Id String field1;
@Id String field2;
...
}
@Entity
@Table(name="table_b")
@DiscriminatorValue("TYPE_B")
@PrimaryKeyJoinColumns({
@PrimaryKeyJoinColumn(name = "field1", referencedColumnName = "field1"),
@PrimaryKeyJoinColumn(name = "field2", referencedColumnName = "field2")
})
public ClassB extends ClassA{
...
}
Exception [EclipseLink-7223] (Eclipse Persistence Services - 2.7.7.v20200504-69f2c2b80d): org.eclipse.persistence.exceptions.ValidationException
Exception Description: A @PrimaryKeyJoinColumns was found on the annotated element [class ClassB]. When the entity uses a single primary key, only a single (or zero) @PrimaryKeyJoinColumn should be specified.