0
モデルとそのリンクされた製品を検索するクエリを作成しました。今度は、 "order by model.name、p.number"ステートメントを使用してデータをソートすると、モデルは正しくソートされます。しかし、製品の仕分けは起こっていません。モデルをソートし、モデル内の製品もソートされていることをどのように修正できますか?hqlの複数の列をソート
Session session = sharedData.getFactory().openSession();
Query query = session.createQuery("select distinct model FROM Model model join fetch model.products p "
+ "join p.itemsInProducts iip " + "join iip.company iipc " + "join iip.item i "
+ "join model.company modelc " + "Join p.company pc " + "where "
+ "model.active = '1' and modelc.companyId = '" + companyId +"' " + "and p.active = '1' and pc.companyId = '" + companyId +"' "
+ "and i.id = '"+ itemID + "' " + "and iip.active = '1' and iipc.companyId = '" + companyId +"' order by model.name, p.number");
List<Model> models = query.list();
session.close();
モデルエンティティには、製品を含むSet products変数があります。
また、p.numberだけをソートすると何も起こりません。製品オブジェクトの順序はランダムに順序付けられます。
クエリは正常に見える...あなたは 'model.name'は、右の2列に同じであるとき、' p.number'のみ意味をなすだろうことを知っていますか? – Eugene
model.nameは、異なる製品の同じ値にすることができます。 – JimmyD