Java Hibernate@ManyToMany关系如何工作?
我有3个实体和一个用于链接这三个实体的实体:Java Hibernate@ManyToMany关系如何工作?,java,hibernate,jpa,orm,jpa-2.0,Java,Hibernate,Jpa,Orm,Jpa 2.0,我有3个实体和一个用于链接这三个实体的实体: @Entity public class A { @Id @GeneratedValue(strategy = GenerationType.AUTO) private Long id; @OneToMany(cascade = CascadeType.ALL, mappedBy = "a", fetch = FetchType.LAZY) private List<
@Entity
public class A {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "a", fetch = FetchType.LAZY)
private List<ABCXref> abcXref = new ArrayList<ABCXref>();
// getters/setters
}
@Entity
public class B {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "b", fetch = FetchType.LAZY)
private List<ABCXref> abcXref = new ArrayList<ABCXref>();
// getters/setters
}
@Entity
public class C {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "c", fetch = FetchType.LAZY)
private List<ABCXref> abcXref = new ArrayList<ABCXref>();
// getters/setters
}
@Entity
public class ABCXref {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@JoinColumn(name = "A_ID", nullable = true)
@ManyToOne(optional = true, fetch = FetchType.LAZY)
private A a;
@JoinColumn(name = "B_ID")
@ManyToOne(optional = false, fetch = FetchType.LAZY)
private B b;
@JoinColumn(name = "C_ID")
@ManyToOne(optional = false, fetch = FetchType.LAZY)
private C c;
}
println(b.getAbcXref().size()); //0
c.getAbcXref().add(new ABCXref(a, b, c));
println(b.getAbcXref().size() == 1) //is `true` or `false`?