我正在使用hibernate 3.3.1以及PostgreSQL 9.3,我编写了以下映射:
@Entity
@Table(name = "player_account")
public class PlayerAccount {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private int id;
@ManyToOne(targetEntity = Player.class, fetch = FetchType.EAGER)
@JoinColumn(name="player_id")
private Player player;
//GET, SET methods
}
问题是,当我们创建表时,我们是否必须在数据库中指定多对一的关系?我的意思是通过以下方式定义引用:
CREATE TABLE player_account (
SERIAL UNIQUE,
player_id integer REFERENCES players
);
答案 0 :(得分:1)
不,你不需要在数据库中定义;但是该外键列应该出现在表中。即player_id应存在于player_account表中。