2012-04-14 11 views
0

私は休止状態でgroupbyを作る方法を知りたいです。 私のコードは以下の通りですが、これを行う方法を教えてください動作していない:hibernate groupby

Session session = getSession(); 
Criteria c = session.createCriteria(CardLog.class); 
c.add(Restrictions.ge(CARD_PUNCHING_TIME, todaysDate)); 
c.setProjection(Projections.groupProperty(USER_ID)); 
c.addOrder(Order.desc(USER_ID)); 
cardLogList = c.list();     
System.out.println("----------------" + cardLogList); 
+0

そして正確に何を働いていないように使用しなければならないと思いますか?何か間違いはありますか? 'hibernate.show_sql = true'を使って[sql出力](http://docs.jboss.org/hibernate/core/3.3/reference/en/html/session-configuration.html)を有効にして' org.hibernate.SQL'Logging – andih

+0

'group by'を使うと、それは通常集計関数(sum、count、max、min)と一緒になります。何をデータベースからリクエストしようとしていますか?言い換えれば、あなたの要求は何を返すと思われますか? –

答えて

0

を私はあなたがこの

Session session = getSession(); 
Criteria c = session.createCriteria(CardLog.class); 
c.add(Restrictions.ge("bean property todaydate", todaysDate)); 
c.setProjection(Projections.groupProperty("bean property userId")); 
c.addOrder(Order.desc("bean property userId")); 
cardLogList = c.list();     
System.out.println("----------------" + cardLogList); 
+0

私のリスト(cardLogList)はdatabeanのリストなので、私が投影リストを追加することはできません。 – user1138766