OneToMany和JoinColumn注释是分开的

时间:2014-10-07 10:57:47

标签: java spring hibernate spring-mvc annotations

我正在使用hibernate 3.2.1。 在实体类中,我看到注释@OneToMany@JoinColumns总是一起使用。但这些意味着什么呢?例如,如果我们按如下方式注释我们的实体类将意味着什么:

@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) 
    //Without @JoinColumn
    private Player player;

    //GET, SET
}

2 个答案:

答案 0 :(得分:2)

请参阅Hibernate的相关文档:http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html_single/ 你需要2.2.5.2。多对一部分: @JoinColumn属性是可选的,默认值类似于一对一,所有者端关系名称的串联,_(下划线)和自有端中主键列的名称

答案 1 :(得分:1)

@OneToMany注释定义了具有一对多多重性的多值关联。 如果使用泛型定义集合来指定元素类型,则不需要指定关联的目标实体类型;否则必须指定目标实体类

@JoinColumn用于指定用于加入实体关联的映射列。