У вас есть составной ключ, содержащий два поля:
@Id
@Column(name="team_id")
private String team_id;
@Id
@Column(name="team_name")
private String team_name;
В то время как ваша таблица соединения имеет только один ключ на таблицу:
@OneToMany(cascade=CascadeType.ALL)
@JoinTable(name="user_team",
joinColumns=@JoinColumn(name="team_id"),
inverseJoinColumns=@JoinColumn(name="user_id"))
private List<User> user;
Вам необходимо использовать все ключи, которые делаютотношения, что-то в этом роде (конечно, в таблице также должны быть правильные столбцы):
@OneToMany(cascade=CascadeType.ALL)
@JoinTable(name="user_team",
joinColumns=@JoinColumn({@JoinColumn(name="team_id"), @JoinColumn(name="team_name")}),
inverseJoinColumns=@JoinColumn(name="user_id"))
private List<User> user;