0

Hibernate Projections属性を使って以下のようなクエリを作成したいと思います。誰かが以下を確認できますか?私はjavaコードを書いています。Hibernateの基準と投影を使ってクエリを構築する方法

select 
distinct 
     this_.FINY_NAME, 
     this_.FINY_YEAR, 
     this_.QTR_NAME, 
     this_.QTR_NO, 
     this_.QTR_PERIOD 
    from 
     V_FINYR_QTR this_ 
    where 
     this_.FINY_YEAR=2016 
    order by 
     this_.FINY_YEAR asc 
+0

私はコードをフォーマットしました。タグが追加されました。質問のタイトルを編集し、問題の内容をより詳しく説明してください – CocoNess

+0

あなたが直面している問題は何ですか? – Sid

+0

私は問題に直面していませんが、私の回答コードはテーブルから別個のデータを取得するのに適しています。私は少しデータがテーブルの中で巨大であれば、それは遅くなると心配しています。私が改善することができるなら、私のコードに代わるものを探しています。 –

答えて

0

私はコードの下に書かれている:

DetachedCriteria dCriteria = DetachedCriteria.forClass(FinancialYearQuater.class, "FinancialYearQuater"); 
     dCriteria.add(Restrictions.eq("FinancialYearQuater.finYear", year)); 
     dCriteria.addOrder(Order.asc("finYear")); 
     dCriteria.setResultTransformer(Projections.distinct(Projections.property("id"))); 
     List<FinancialYearQuater> list = (List<FinancialYearQuater>) findAll(dCriteria); 

ここではSQLクエリです。それは別のデータを取得する正しい方法ですか?

DetachedCriteria dCriteria = DetachedCriteria.forClass(FinancialYearQuater.class, "FinancialYearQuater"); 
     dCriteria.add(Restrictions.eq("FinancialYearQuater.finYear", year)); 
     ProjectionList projList = Projections.projectionList(); 
     projList.add(Projections.property("FinancialYearQuater.finYear"), "finYear"); 
     projList.add(Projections.property("FinancialYearQuater.finYearName"), "finYearName"); 
     projList.add(Projections.property("FinancialYearQuater.qtrNo"), "qtrNo"); 
     projList.add(Projections.property("FinancialYearQuater.qtrPeriod"), "qtrPeriod"); 
     dCriteria.setProjection(Projections.distinct(projList)); 
     dCriteria.addOrder(Order.asc("finYear")); 
     List<FinancialYearQuater> list = (List<FinancialYearQuater>) findAll(dCriteria); 
関連する問題