ManyToMany com Atributos,com clausula @Where

seguinte senhores: tenho uma tabela cliente, outra tabela serviço e uma tabela associativa cliente_serviço. mas cada serviço tem N clientes compradores e N clientes vendedores. então na tabela cliente_serviço eu coloquei um atributo “comprador” para indicar um cliente comprador ou vendedor caso contrário. Minha dúvida é a seguinte: tem como eu colocar uma associação manytomany e filtrar o conteúdo da tabela cliente_serviço pelo campo “comprador” algo assim:

public class Servico
    //restante dos atributos

    @ManyToMany(targetEntity=Cliente.class)
    @Cascade({CascadeType.SAVE_UPDATE, CascadeType.LOCK})
    @JoinTable(name="tab_cliente_servico",joinColumns={
        @JoinColumn(name="servico")} , inverseJoinColumns={
        @JoinColumn(name="cliente")})
    @LazyCollection(LazyCollectionOption.TRUE)
    @Where(clause="comprador = 1")
    private Set<Usuario> clientesCompradores = new HashSet<Usuario>();

    @ManyToMany(targetEntity=Cliente.class)
    @Cascade({CascadeType.SAVE_UPDATE, CascadeType.LOCK})
    @JoinTable(name="tab_cliente_servico",joinColumns={
        @JoinColumn(name="servico")} , inverseJoinColumns={
        @JoinColumn(name="cliente")})
    @LazyCollection(LazyCollectionOption.TRUE)
    @Where(clause="comprador = 0")
    private Set<Usuario> clientesVendedores = new HashSet<Usuario>();

mas a anotação @Where tenta filtrar clientes e eu precisaria filtrar a tabela servico_cliente, alguem tem alguma sugestão?

Clientes e Vendedores, para mim, são entidades diferentes. São objetos diferentes, embora tenham atributos comuns (herança aqui?).
Portanto, eu sugiro alterar o modelo e criar uma classe específica para cada um. Além de uma tabela específica

na realidade, o que se deseja que o cliente tenha um cadastro único na empresa, de forma que qualquer serviço que ela venha a fazer na empresa esteja ligado a um único número de cliente. Eu tenho uma tabela Serviço que tem os dados dos serviços. Então um cliente que hoje é comprador, amanha pode ser vendedor e vice e versa. Logo, acredito que a tabela cliente deve ser o cadastro único e apenas alterar o estado do cliente, vendedor ou comprador, na tabela associativa, não?

Agradeço a resposta.