我遇到了一些JPA关系问题,如下所示。 共有4个表格,如下所示。 表a,表b,表c,表b_c
我的查询是在读取对象A时,我得到了B的数据,而没有得到List cList的数据,它以空List的形式给出。 但是当我直接在B上获得调用时,我得到cList的数据。我可以知道这是怎么回事。我的目标是读取对象a应该获取cList的数据以及保持以下相同的关系。
我尝试了所有可能的选择,但没有运气。
@Table(name = "a")
public class A {
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "bid")
private String bid;
@Column(name = "aid")
private String aId;
@OneToOne
@LazyCollection(LazyCollectionOption.FALSE)
@JoinColumn(name = "bid", referencedColumnName = "bid",
insertable = false, updatable = false)
private B b;
}
@Table(name = "b")
public class B{
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "bid")
private String bid;
@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
@JoinTable(name = "b_c",
joinColumns = {
@JoinColumn(name = "bid", referencedColumnName = "bid")},
inverseJoinColumns = {
@JoinColumn(name = "cid", referencedColumnName = "cid", unique = true)})
private List<C> cList;
}
@Table(name = "c")
public class C{
@Id
@Column(name = "id")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(name = "cid")
private String cid;
}
期望读取类A,以如上所述获取B和B_C关系的数据。