Я столкнулся с некоторыми проблемами JPA следующим образом. Есть 4 таблицы следующим образом. Таблица a, Таблица b, Таблица c, Таблица b_c
Мой запрос здесь при чтении объекта A, я получаю данные B и не могу получить данные List cList, и он дает пустой список. Но когда у меня есть прямой вызов get на 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, как сказано выше.