cómo hacer una clave primaria compuesta (anotación de persistencia java)

Cómo hacerlo de modo que la tabla user_roles defina las dos columnas (userID, roleID) como una clave primaria compuesta. debería ser fácil, simplemente no puedo recordar / encontrar.

Enuser entidad:

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

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

Enroles entidad:

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

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

Gracias.

** MÁS INFORMACIÓN

Así que hay una tercera mesauser_roles (auto generado por arriba) que llevauserID desdeuser entidad yroleID desderoles entidad. Ahora necesito esas dos columnas en la tabla generada (user_roles) para ser una clave primaria compuesta.

Respuestas a la pregunta(5)

Su respuesta a la pregunta