OneToMany JPA注释

时间:2014-04-21 00:24:43

标签: java hibernate java-ee jpa

这是一个简单的问题,不会占用太多时间。

假设:

Class A{ ... }

Class B{
  @OneToMany
  private A a;
}

这意味着一个B可以有多个A或多个A可以有一个B?

2 个答案:

答案 0 :(得分:1)

这意味着B可以包含多个A,private A a应该由某种Collection表示,并且它的@OneToMany装饰应该包含mappedBy }属性指向多方的对应字段/属性

public class B {
    @OneToMany(mappedBy = "b");
    private Collection<A> as;

    @Id
    @Column(name = "B_ID")
    private Long id;
}

public class A {
    @ManyToOne
    @JoinColumn(name = "B_ID");
    private B b;
}

答案 1 :(得分:1)

peeskillet提供的答案是正确的,但它使用了双向关系的一个例子。这是,A类知道B类,B类知道A类。 您可以在非双向关系中使用它:

public class B
{
     @OneToMany
     private Collection<A> a;
}


public class A{}

B级知道A级,但A级不了解B级。

希望这也有帮助。 :)