como fazer uma chave primária composta (anotação de persistência de java)

Como fazer com que a tabela user_roles defina as duas colunas (userID, roleID) como uma chave primária composta. deve ser fácil, só não consigo lembrar / encontrar.

Emuser entidade:

@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "user_roles")
public List<RoleDAO> getRoles() {
    return roles;
}

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public Integer getUserID() {
    return userID;
}

Emroles entidade:

@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "user_roles")
public List<UserDAO> getUsers() {
    return users;
}

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
public Integer getRoleID() {
    return roleID;
}

Obrigado.

** MAIS INFORMAÇÕES

Então tem uma terceira mesauser_roles (gerado automaticamente por cima) que levauserID deuser entidade eroleID deroles entidade. Agora eu preciso dessas duas colunas na tabela gerada (user_roles) ser uma chave primária composta.

questionAnswers(5)

yourAnswerToTheQuestion