有谁知道如何使用以下简单示例指定特定的列名?
@Entity
public class Role {
@Id
@GeneratedValue
@Column(name="id")
private final Integer id;
...
}
@Entity
public class User {
@Id
@GeneratedValue
@Column(name="id")
private final Long id;
@ElementCollection
@CollectionTable(name = "user_roles" joinColumns = { @JoinColumn(name = "user_id")})
private final Set<Role> roles;
...
}
这令人沮丧地产生了一个名为“user_roles”的表和字段名称:“user_id”和“roles_id”。
为什么是“roles_id”而不是“role_id”,如何将其更改为“role_id”?
值得我使用 JPA 2.0、MySQL 和 Hibernate。我要添加的数据是正确添加的,所以这只是一个口味问题。
编辑:
以下可能有点 JPA 1.0'ish,但它可以根据需要工作。
@ManyToMany
@JoinTable(name = "user_roles", joinColumns = @JoinColumn(name = "user_id"), inverseJoinColumns = @JoinColumn(name = "role_id"))