私は4つのテーブル - store, catalog_galleries, catalog_images, and catalog_financials
を持っています。ORM関係をトラバースすると重複した結果が返されます
store --> catalog_galleries --> catalog_images
から関係をトラバースすると、つまり:store.getCatalogGallery().getCatalogImages()
私は重複したレコードを取得します。誰もがこれの原因となる可能性があることを知っていますか?見た目の提案はありますか?
store
テーブルは、順番にcatalog_images
とOneToMany
関係と熱心なフェッチ・タイプを有するcatalog_galleries
とOneToOne
関係を有します。 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;
}
}
ない十分な情報を参照し、提供してください、あなたのマッピングを持つJPAクラス生成されたSQLを見てみましたか? – Osw
すべてのレコードは重複していますか?重複したエントリの結合列をチェックしましたか? – weltraumpirat
はい、すべてのレコードに重複があります。 'catalog_images'には、' join'カラムに同じ値を持ち、関連するデータ/イメージをグループ化する複数のエントリがあります。 – NKing253