2016-10-01 8 views
1

私は春4.1.4.RELEASE + 4.3.6.Finalを休止状態を使用しています、私はコレクションのサイズをOneToMany制限付き休止ページングについて質問があり、ここでのコードは次のとおりです。OneToManyコレクションのサイズを制限して休止状態のページングを実行しますか?

create table product (
    id int(6) unsigned auto_increment primary key, 
    name varchar(30) 
); 

create table picture (
    id int(6) unsigned auto_increment primary key, 
    product_id varchar(30), 
    url varchar(30) 
); 

@Entity(name = "product") 
public class Product extends BaseEntity { 
    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    @Column(name = "id") 
    private int id; 

    @Column(name = "name") 
    private String name; 

    @OneToMany(fetch = FetchType.LAZY, mappedBy = "product") 
    private List<Picture> pictures; 

    public List<Picture> getPictures() { 
     return pictures; 
    } 

    public void setPictures(List<Picture> pictures) { 
     this.pictures = pictures; 
    } 
} 


@Entity(name = "picture") 
public class Picture extends BaseEntity { 
    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    @Column(name = "id") 
    private int id; 

    @Column(name = "url") 
    private String url; 

    @ManyToOne(fetch = FetchType.LAZY) 
    @JoinColumn(name = "product_id", referencedColumnName = "id") 
    private Product product; 

    public Product getProduct() { 
     return product; 
    } 

    public void setProduct(Product product) { 
     this.product = product; 
    } 
} 

製品との間の関係と画像はOneToManyです。今、私が望むのは、製品のリストを取得し、各製品の画像サイズを2に制限することです。これをどのように達成できますか?

私はBatchSizeを試しましたが、これが機能しているように見えますが、BatchSizeに関係なくすべての結果を得ることができますか?

誰かが唯一の方法は、最初に製品のリストを見つけることです、そして、各製品の2つの写真を見つけることです、これは唯一の方法ですか?

答えて

0

理想的Query.setMaxResultsは()問題を解決する必要がありますが、あなたは@size

@OneToMany(フェッチ= FetchType.LAZY、mappedBy =「製品を使用することができ、それには多くのアプローチ

  1. があります") @Size(最小= 1、最大= 2) プライベートリスト写真;

  2. もあり@BatchSize

    @OneToMany(フェッチ= FetchType.LAZY、mappedBy = "製品") @BatchSize(サイズ= 2) 民間一覧写真。

  3. まだそれは私たちが、この場合には、クエリ

+0

することにより、グループの助けを借りて、ネイティブクエリのために行くことができるよりも動作しない場合は、どのように私は、製品のすべての画像を取得するために指定することができますか? – seaguest

+0

サイズ/バッチ値を動的に設定することができます – Mudassar

+0

まだ動作していない場合は教えてください – Mudassar

関連する問題