これら二つのスニペットの応答で最速です:実行時間が速いのはどちらですか?hqlまたは標準のsql?
String hql = "from Menu where groupeMenu = :gm";
Query query = sessionFactory.getCurrentSession().createQuery(hql);
query.setParameter("gm" , criteres.get("gmnu_code"));
@SuppressWarnings("unchecked")
List<Menu> listMenu = (List<Menu>) query.list();
か:
String sql = "select menu_id from menu where gmnu_code = :gm";
Query query = sessionFactory.getCurrentSession().createSQLQuery(sql);
query.setParameter("gm" , criteres.get("gmnu_code"));
@SuppressWarnings("unchecked")
List<Menu> listMenu = (List<Menu>) query.list();
あなたはそれを試してみませんか?実際には、大きな違いはありません。 – Jesper
しかし、テーブルにはより多くの行が含まれます違いがありますか? – pheromix
DBにどのくらいのカラムが存在するかを測定しません。現在のケースでは、唯一の違いは、HQLが解析されてネイティブSQLに変換され、一定の時間で作られ、@Jesper 2番目のケースの利益は非常に小さくなります。 –