У меня 4 таблицы - store, catalog_galleries, catalog_images, and catalog_financials
.
Когда я пересекаю связь с store --> catalog_galleries --> catalog_images
, другими словами: store.getCatalogGallery().getCatalogImages()
Я получаю дубликаты записей. Кто-нибудь знает, что может быть причиной этого? Любые предложения о том, где искать?
Таблица store
имеет отношение OneToOne
с catalog_galleries
, которое, в свою очередь, имеет отношение OneToMany
с catalog_images
и тип нетерпеливого извлечения. Таблица store
также имеет отношение OneToMany
с catalog_financials
.
Ниже приведены соответствующие лица:
Магазин лица
@Entity
@Table(name="store")
public class Store {
...
private CatalogGallery gallery;
...
@OneToOne(mappedBy="store")
public CatalogGallery getGallery() {
return gallery;
}
}
CatalogGallery объекта
@Entity
@Table(name="catalog_galleries")
public class CatalogGallery {
...
private Store store;
private Collection<CatalogImage> catalogImages;
...
@OneToOne
@PrimaryKeyJoinColumn
public Store getStore() {
return store;
}
@OneToMany(mappedBy="catalogGallery", fetch=FetchType.EAGER)
public Collection<CatalogImage> getCatalogImages {
return catalogImages;
}
}
CatalogImage объекта
@Entity
@Table(name="catalog_images")
public class CatalogImage {
...
private CatalogGallery catalogGallery;
...
@ManyToOne
@JoinColumn(name="gallery_id", insertable=false, updatable=false)
public CatalogGallery getCatalogGallery() {
return catalogGallery;
}
}