Criteria を使用してパフォーマンスの問題に直面し、 join を残しました。以下は私のクエリです:
Criteria crit = session.createCriteria(CuttingAssignment.class);
crit.add(Restrictions.eq("cuttingMachine", cuttingMachine));
crit.createAlias("cuttingBatch", "cuttingBatch");
crit.addOrder(Order.asc("psn"));
crit.setFetchMode("cuttingBatch", FetchMode.JOIN);
crit.setFetchMode("cuttingMachine", FetchMode.JOIN);
crit.createAlias("cuttingBatch.isolatingBatches", "cuttingBatch.isolatingBatches", Criteria.LEFT_JOIN);
crit.createAlias("cuttingBatch.isolatingBatches.assignments", "cuttingBatch.isolatingBatches.assignments", Criteria.LEFT_JOIN);
crit.createAlias("cuttingBatch.articleType", "cuttingBatch.articleType");
crit.setFetchMode("cuttingBatch.articleType", FetchMode.JOIN);
crit.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
List<CuttingAssignment> cuttingAssignmentList = crit.list();
パフォーマンスの問題に直面しているため、DBで非常に多くのSQLクエリを実行しますか?
Criteria Query を最適化する方法は何ですか? 基準と HQL クエリに違いはありますか?
前もって感謝します。