Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果我们使用@OneToMany注释,是否必须在db中本机定义一对多关系_Java_Hibernate_Postgresql - Fatal编程技术网

Java 如果我们使用@OneToMany注释,是否必须在db中本机定义一对多关系

Java 如果我们使用@OneToMany注释,是否必须在db中本机定义一对多关系,java,hibernate,postgresql,Java,Hibernate,Postgresql,我正在使用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(targetEnt

我正在使用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
);

不,您不需要在数据库中定义;但该外键列应该出现在表中。i、 e.玩家id应出现在玩家帐户表中