0

@QueryHint(name=QueryHints.BATCH, value="pi.jrnls") アノテーションを主キー @Id ルックアップと一緒に使用したいと思います。注釈はどこに置くのですか?@NamedQuery の中にしか入れられないようです。しかし、デフォルトの pk ルックアップにはもちろん @NamedQuery がありません。

@Entity
@Table(schema="prd", name="PRDITEM", uniqueConstraints= {@UniqueConstraint(columnNames= {"prditmNO"})})
@Cache(expiry=com.quoka.qis.lib.persistence.Constants.SHORT_CACHE_PERIODE_MS)
@NamedQuery(name = "PrdItem.findByNo", query = "select pi from PrdItem pi where pi.no = ?1",
    hints={
        @QueryHint(name=QueryHints.BATCH, value="pi.jrnls"),
        @QueryHint(name=QueryHints.BATCH, value="pi.bookings")//,
    }
)
public class PrdItem {....


@Id 
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="prditmID", insertable = false, nullable=false, unique=true) 
private Long id;
4

1 に答える 1

1

EclipseLink には、マッピングに追加できる BatchFetch 注釈があります: http://eclipse.org/eclipselink/documentation/2.4/jpa/extensions/a_batchfetch.htm

JPA 2.0 には、クラス、キー、およびプロパティ マップを取り込む find シグネチャもあります。

于 2013-01-21T14:14:01.730 に答える