Por que um atributo de mapeamento JPA não pode ser um LinkedHashset?

Motivado poresta pergunta, tentei alterar o seguinte:

 @ManyToMany(cascade={CascadeType.REMOVE, CascadeType.MERGE})
private Set<Expression> exps = new LinkedHashSet<Expression>();

para:

 @ManyToMany(cascade={CascadeType.REMOVE, CascadeType.MERGE})
    private LinkedHashSet<Expression> exps = new LinkedHashSet<Expression>();

No entanto, esse movimento resulta em:

Exception [EclipseLink-1] (Eclipse Persistence Services - 2.1.0.v20100614-r7608): org.eclip,se.persistence.exceptions.DescriptorException

Exceção Descrição: O atributo [exps] não é declarado como tipo ValueHolderInterface, mas seu mapeamento usa indiretamente. Mapeamento: org.eclipse.persistence.mappings.ManyToManyMapping [exps] Descritor: RelationalDescriptor (com.mysimpatico.memoplatform.persistence.entities.Meaning -> [DatabaseTable (MEANING)])

Como devo no JPA2 obter o comportamento desejado?

questionAnswers(2)

yourAnswerToTheQuestion